Risoluzione video

Storico discussioni

Adattare userform di Enzo
Cari ragazzi ho un problema di questo tipo:
ho un file in excel con delle userform che ho adattato al tipo di pc che utilizzo (parlo di videata)
il problema e' che se utilizzo il file su un altro pc con una risoluzione video diversa la userform appare piu' grande o piu piccola
c'e' un sistema affinche una userform si possa adattare automaticamente al tipo di pc (risoluzione video) che si sta utilizzando?

Per enzo di Apoben64
Ti allungo questo codice che dovrebbe fare al caso tuo.
un saluto luca
 
Private Sub UserForm_Initialize() 
    Application.WindowState = xlMaximized 
    With Application 
        Me.Top = .Top 
        Me.Left = .Left 
        Me.Height = .Height 
        Me.Width = .Width 
    End With 


End Sub 


di Enzo
Grazie luca, potrebbe anche andare bene ma volevo sapere se c'e' qualcosa che faccia si che la userform mantenendo i valori di partenza si adatti ad un altro pc.
nel tuo caso la userform prende tutto lo schermo mentre io vorrei che se quella di partenza per intenderci io sul mio pc la vedo in un certo modo questa si adatti su un altro pc avendo la stessa grandezza

di Enzo
Ciao ragazzi a parte luca con il suo suggerimento non c'e' nessun altro che sa darmi una mano in merito all'adattamento della userform

di Mauro
Ciao enzo, nel web gira questa routine che non misura la definizione dello schermo ma tramite le proprietą usableheight e usablewidth ricava le dimensioni della finestra in pixel. prova a manipolarlo poi facci sapere. aspetto la tua partecipazione attiva anche in altre discussioni. saluti e buon lavoro!
 
Private Sub UserForm_Activate()
x = Application.UsableWidth
h = Application.UsableHeight
If x > 597 Then
xa = x / 597
ha = h / 309
With UserForm1
    .Height = .Height * ha
    .Width = .Width * xa
    lefta = (x - .Width) / 2
    .Left = lefta
    toppa = (h - .Height) * ha
    .Top = toppa
End With
For Each ctr In UserForm1.Controls
    ctr.Width = ctr.Width * xa
    ctr.Height = ctr.Height * ha
    ctr.Font.Size = ctr.Font.Size * xa
    ctr.Top = ctr.Top * ha
    ctr.Left = ctr.Left * xa
Next
End If
End Sub

Altra soluzione di Apoben64
Per informazione, nel web ho trovato anche questo tipo di soluzione che adatta la risoluzione dello schermo in automatico a seconda del computer ricevente.
 
Private Sub workbook_open()
  X = Application.UsableWidth
  If X > 597 Then ActiveWindow.Zoom = 130 Else ActiveWindow.Zoom = 100
  End Sub
 

Cognolato Studio © 2005