Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    25

    Dividere il desktop (è possibile??)

    Salve a tutti....
    vi volevo chidere se è possibile in vb.net dividere il desktop....
    mi spiego meglio....

    il mio programma è in pratica una sorta di menù barra delle applicazioni bloccato sulla destra e prende tutta la parte destra dello schermo dall'alto in basso....

    il fatto è che ora come ora le finestre di esplora risorse di windows e le altre applicazioni mi vanno dietro e si nascondono quindi i pulosanti per chiuderle massimizzarle o ridurle a icona.....

    è possibile far si che una finestra massimizzata non arrivi in larghezza in fondo allo schermo ma che arrivi solo dove poi inizia il form del mio programmino??

    grazie a tutti.....

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Parli di una qualsiasi finestra di Windows (il che vorrebbe dire modificare il comportamento del sistema operativo, ovvero non e' possibile) o di una finestra del tuo programma (in esecuzione naturalmente ...)

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio anche nel titolo, come da Regolamento.

    Questo l'ho modificato io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    25
    Per Alka
    chiedo scusa per non aver messo il linguaggio nel titolo....credevo d'averlo fatto...ma evidentemente me ne sono scordato...


    Per Oregon

    Si io parlavo di una qualsiasi finestra di windows.....e quindi non è possibile eh.....

    beh grazie comunque

  5. #5
    In realtà è possibile... con la seguente property che ho scritto puoi ottenere ed impostare l'area di lavoro del desktop, ossia la parte di desktop che viene occupata dalle finestre massimizzate:
    codice:
    Module DWA
        Private Const SPI_SETWORKAREA As Integer = 47
        Private Const SPI_GETWORKAREA As Integer = 48
        Private Declare Auto Function SystemParametersInfo Lib "user32" (ByVal uiAction As Integer, ByVal uiParam As Integer, ByRef rect As Drawing.Rectangle, ByVal fWinIni As Integer) As Boolean
        Public Property DesktopWorkingArea() As Drawing.Rectangle
            Get
                Dim deskWorkingArea As Drawing.Rectangle
                If Not SystemParametersInfo(SPI_GETWORKAREA, 0, deskWorkingArea, 0) Then
                    Throw New System.ComponentModel.Win32Exception
                End If
                Return deskWorkingArea
            End Get
            Set(ByVal Value As Drawing.Rectangle)
                If Not SystemParametersInfo(SPI_SETWORKAREA, 0, Value, 0) Then
                    Throw New System.ComponentModel.Win32Exception
                End If
            End Set
        End Property
    End Module
    .
    Se ad esempio la tua finestra sta sulla destra ed è larga 30 pixel ti basterà usare la property in questo modo:
    codice:
    Dim tdwa As Drawing.Rectangle = DWA.DesktopWorkingArea
    tdwa.Width-=30
    DWA.DesktopWorkingArea=tdwa
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    25
    grazie MItaly
    proprio quello che intendevo...

    e senti....

    è possibile per caso far sì che tutto si adatti alla nuova area di lavoro.....
    ossia anche la barra delle applicazioni di windows....

    perchè con questa property le finestre si massimizzano dentro quell'area ma la barra delle applicazioni rimane lì dov'è e quindi mi scivola dietro il form....

    grazie mille

  7. #7
    La finestra della barra delle applicazioni non è massimizzata, per cui l'impostazione in questione non le fa alcun effetto; provando a ridimensionarla tramite le API ho inoltre notato che si rifiuta di cambiare dimensioni, per cui temo che non ci sia niente da fare.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.