Newsgroup: it.comp.appl.access
Titolo: ridimensionamento .....maschera

Volevo chiedere se si fa e  come si fa a far si che nella maschera
principale che faccio ingrandire al momento dell'avvio della mia
applicazione, quando premo i pulsanti in alto a destra ( ingradimento -
ridimensionamento - chiusura ) a far si che quando riduco ad icola la mia
maschera , si riduca anche la piattaforma di access che mi rimane dietro, e
che si ingrandisca quando chiedo che si ingrandisca la mia apllicazione.
spero di essere stato chiaro. Max

 ha scritto nel messaggio
news:906gql$ivi$1...@lacerta.tiscalinet.it...

Forse mettendo qualche virgola e qualche punto in +...
--
Silvio
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access

 Forse mettendo qualche virgola e qualche punto in +...
Rileggi che ti rileggi, forse sono riuscito a capirti.
Vorresti che:
- se viene ridotta ad icona una certa maschera, si riduca a icona anche
Access;
- se viene ingrandita la maschera, risulti ingrandita anche la finestra di
Access;
e, forse,
- se viene ripristinata la maschera, venga ripristinata anche la finestra di
Access.
Si può fare; quello che non puoi fare, credo, è controllare le vicende
opposte.
Cioè, se invece di ingrandire la maschera, viene ingrandita la finestra di
Access, non avrei idea di come intercettare l'evento x modificare la
maschera, ecc. ecc.
La traccia da approfondire è questa: con l'evento Su ridimensionamento hai
la possibilità di eseguire del codice se viene cambiata la dimensione della
maschera.
I valori Me.WindowHeight e Me.WindowWidth ti restituiscono le dimensioni
della maschera: avranno un valore minimo quando la maschera è ridotta ad
icona, un valore massimo quando è massimizzata, un valore predefinito quando
la maschera è ripristinata.
Quanto siano questi valori devi andartelo a trovare, perché dipendono da
alcuni fattori tra cui la risoluzione a schermo.
Comunque, quando avrai i valori precisi, potrai fare qualcosa del tipo
Private Sub Form_Resize()
  If Me.WindowHeight = 360 And Me.WindowWidth = 2400 then ' ridotta a icona
    SendKeys "% i", True    ' percento spazio i
  End If
  If Me.WindowHeight = 8100And Me.WindowWidth = 12120 then ' massimizzata
    SendKeys "% n", True    ' percento spazio n
  End If
  If Me.WindowHeight = 4000 And Me.WindowWidth = 9700 then ' normale
    SendKeys "% r", True    ' percento spazio r
  End If
End Sub
Nota che i valori da me usati sono quelli derivanti da un esempio pratico
che mi sono costruito e che, ripeto, tu potresti trovarli differenti
Ciao


 maschera, ecc. ecc.
Non è vero.
Visto che sono in serata, ti aggiungo in po' di codice su cui riflettere:
    ' Inserisci il tutto in un modulo
      Declare Function apiGetActiveWindow Lib "user32" Alias _
         "GetActiveWindow" () As Long
      Declare Function apiGetParent Lib "user32" Alias "GetParent" _
         (ByVal hwnd As Long) As Long
      Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
         (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
      Global Const SW_MAXIMIZE = 3
      Global Const SW_SHOWNORMAL = 1
      Global Const SW_SHOWMINIMIZED = 2
      Declare Function apiIsIconic Lib "user32" Alias "IsIconic" (ByVal _
         hwnd As Long) As Long
      Declare Function apiIsZoomed Lib "user32" Alias "IsZoomed" (ByVal _
         hwnd As Long) As Long
      Declare Function apiMoveWindow Lib "user32" Alias "MoveWindow" _
         (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal _
         nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) _
         As Long
      Function GetAccesshWnd()
         Dim hwnd As Long
         Dim hWndAccess As Long
         ' Get the handle to the currently active window.
         hwnd = apiGetActiveWindow()
         hWndAccess = hwnd
         ' Find the top window without a parent window.
         While hwnd <> 0
            hWndAccess = hwnd
            hwnd = apiGetParent(hwnd)
         Wend
         GetAccesshWnd = hWndAccess
      End Function
      Function AccessMinimize()
         ' Minimizza Access
         AccessMinimize = apiShowWindow(GetAccesshWnd(), SW_SHOWMINIMIZED)
      End Function
      Function AccessMaximize()
         ' Massimizza Access
         AccessMaximize = apiShowWindow(GetAccesshWnd(), SW_MAXIMIZE)
      End Function
      Function AccessRestore()
         ' Ripristina Access
         AccessRestore = apiShowWindow(GetAccesshWnd(), SW_SHOWNORMAL)
      End Function
      Function IsAccessMaximized()
         ' controlla se Access è massimizzato
         If apiIsZoomed(GetAccesshWnd()) = 0 Then
            IsAccessMaximized = False
         Else
            IsAccessMaximized = True
         End If
      End Function
      Function IsAccessMinimized()
         ' controlla se Access è minimizzato
         If apiIsIconic(GetAccesshWnd()) = 0 Then
            IsAccessMinimized = False
         Else
            IsAccessMinimized = True
         End If
      End Function
      Function IsAccessRestored()
         ' controlla se Access è ripristinato
         If IsAccessMaximized() = False And _
               IsAccessMinimized() = False Then
            IsAccessRestored = True
         Else
            IsAccessRestored = False
         End If
      End Function
Le funzioni AccessMinimize(), AccessMaximize() e AccessRestore() le puoi
usare al posto dei SendKeys.
Inoltre, nel codice che ti ho postato nel messaggio precedente c'è un errore
logico dovuto ai pochi test effettuati e all'ora tarda: quando massimizzi la
maschera, questa non assume le dimensioni massime perché Access non è ancora
massimizzato; quindi Access non viene massimizzato.
Buona notte.


Ho iserito il codice , e sono soddisfatto, funziona a meraviglia . Grazie
1000 max