Mahh !!!
Ho testato quel codice anche su un PC a 64 bit e sembra che funziona ???
Strano me lo hanno venduto solo per 32 bit
Comunque se è vero
apri un nuovo modulo e ci metti dentro questo codice
che alla funzione pubblica ___ GetRes() ___
ti restituiscela risoluzione dello schermo
codice:
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Const CCDEVICENAME = 32
Private Const CCFORMNAME = 32
Private Const DM_PELSWIDTH = &H80000
Private Const DM_PELSHEIGHT = &H100000
Public Const DISP_CHANGE_SUCCESSFUL = 0
Public Const DISP_CHANGE_RESTART = 1
Public Const ENUM_CURRENT_SETTINGS = -1
Private Type DevMode
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Public Function GetRes() As String
Dim DevM As DevMode
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmSize = LenB(DevM)
Call EnumDisplaySettings(0&, ENUM_CURRENT_SETTINGS, DevM)
GetRes = DevM.dmPelsWidth & "-" & DevM.dmPelsHeight
End Function
Poi crei una nuova maschera con
3 caselle di testo associate di nome:
___ TTcc
___ TTdd
___ TTaa
1 casella di testo NON associata di nome
___ Ris
Nella casella Ris ci metti questa formula
="Risoluzione schermo " & GetRes()
Aggiungi questo codice all'evento caricamento della maschera
codice:
Private Sub Form_Load()
If GetRes() = "1024-768" Then
Me.Ris.BackColor = 65280 'Verde
Me.TTcc.Left = 1300
Me.TTcc.Width = 1300
Me.TTdd.Left = 1300
Me.TTdd.Width = 1300
End If
If GetRes() = "1280-720" Then
Me.Ris.BackColor = 65535 'Giallo
Me.TTcc.Left = 2500
Me.TTcc.Width = 1500
Me.TTdd.Left = 2500
Me.TTdd.Width = 1500
End If
End Sub
Vedrai che i controlli si riposizionano
sullo schermo 1024 x 768 e 1280 x 720
Poi sara lavoro tuo spostare i pulsanti e quant'altro
Saluti