begin process at 2010 02 10 09:25:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

adapter userform en fct de l'ecran


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

adapter userform en fct de l'ecran

jeudi 10 juillet 2008 à 09:57:48 | adapter userform en fct de l'ecran

matth72

Bonjour à tous j’ai créé une interface pour mon boulot sur mon pc sa fonctionne très bien mais je suis amené à donner ma programmation à plusieurs personnes de l’entreprise mais ces personnes n’on pas forcément la même résolution d’écran. Je dois donc adapter ma form en fonction de celui-ci
J’ai un début de programme qui marche mais mon pb c’est que je n’arrive pas à repositionner mes contrôles (ex : commandbutton1.top reste à la meme place) sa ne fonctionne pas
Si quelqu’un a compris et peut m’aide
Merci d’avance

Private Sub UserForm_Initialize()
'UserForm en plein écran
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
'Déclaration des variables RX et RH
Dim RW As Single, RH As Single 'RMW As Single, RMH As Single
'Calcule le rapport de l'UserForm et la taille de l'écran
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
'Met l'UserForm en plein écran
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
'Déclaration de la variable Ctl qui correspond aux contrôles de ton UserForm
Dim Ctl As MSForms.Control
'Permet de redimensionner tous tes contrôles présent sur l'UserForm en fonction de la taille de l'userForm et de la taille de l'écran
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next

‘Suite programme…
End Sub

Dans un module
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0 'Screen width
Private Const SM_CYSCREEN = 1 'Screen height
Private Declare Function GetDC Lib "user32" _
(ByVal hWnd As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hWnd As Long, ByVal hDC As Long) As Long

Private Const LOGPIXELSX = 88 'Pixels/inch in X
'A point is defined as 1/72 inches
Private Const POINTS_PER_INCH As Long = 72

'la largeur de l'ecran, en pixels
Public Function ScreenWidth() As Long
ScreenWidth = GetSystemMetrics(SM_CXSCREEN)
Debug.Print ScreenWidth
End Function

'la hauteur de l'ecran, en pixels
Public Function ScreenHeight() As Long
ScreenHeight = GetSystemMetrics(SM_CYSCREEN)
Debug.Print ScreenHeight
End Function

'The size of a pixel, in points
Public Function PointsPerPixel() As Double
Dim hDC As Long
Dim lDotsPerInch As Long
hDC = GetDC(0)
Debug.Print hDC
lDotsPerInch = GetDeviceCaps(hDC, LOGPIXELSX)
Debug.Print lDotsPerInch
Debug.Print POINTS_PER_INCH
PointsPerPixel = POINTS_PER_INCH / lDotsPerInch
Debug.Print PointsPerPixel
ReleaseDC 0, hDC
End Function


Cette discussion est classée dans : long, function, private, userform, pointsperpixel


Répondre à ce message

Sujets en rapport avec ce message

voivi un script pour désactiver le bouton fermer d'access [ par antipateik ] j'ai récupéré ce script sur le super site de http://access.seneque.free.fr/Mon pb c'est que j'y pige pas grand chose set que j'aimerai savoir comment quelqun peut maider pour faire marcher ce code [ par wcwmans ] ccest un code pour empecher que les fenetre contennat dans leur titre le mots sex ne souvre pas. Il est composé d'un timer d'une form et d'un module.m EnumWindow... [ par Franck67 ] Bonjour,J'aimerai pouvoir récupérer uniquement le Handle des fenêtres affichées sur le bureau de Windows pour pouvoir faire un traitement dessus !!!J' texte veticalement mais ! [ par hindhinf ] j'ai essayer le code suivant pour ecrire un texte verticalement :Private Declare Function GetDeviceCaps Lib "GDI32" (ByVal hdc As Long, ByVal nIndex A case system [ par JLB59 ] Bonjour,Par des API et grâce à NIX,Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As LongPrivate Decl Fermer un programme (shell) [ par Mr Capone ] Bonjour voila je souhaite enchainer des video pour cela je les ouvre avec un shell. Je me suis aidé d'un code deja présent sur vbfrance.fr qui m'aide Prob dans le listage des fentres actives [ par CCJ ] Voila le code :Private Declare Function GetWindowTextLength Lib "USER32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As LongPrivate Declare Func difficulté de conversion vb6 vers vb.net [ par Safireo ] Bonjour tlm !après de longues recherche, j'ai réussi à trouver un petit bout de code sensé me permettre de récupérer le nom de fichier que winamp lit Problème avec les Threads et la fonction Creaobject [ par skirby ] Bonjour à tous, Voila, j'ai un gros problème avec les Thread sous VB 6. Plus précisément, c'est la fonction CreateObject dans la fonction de mon thre conversion en .NET [ par Safireo ] slut tlm !je cherche à terminer la conversion de ce code en .net.j'arrive à éliminer les erreurs mais pas à faire fonctionner le logiciel qui doit me


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales