Bonjour à tous,
Je n'arrive pas à bien positionner le formulaire en haut à gauche de l'écran avec la commande <DoCmd.MoveSize 0, 0> : le formulaire se place en effet en haut à gauche mais pas exactement à gauche (il y a un léger écart de quelques twips entre le bord de l'écran et le bord gauche du formulaire).
Je suis obligé de "forcer" la position avec un <DoCmd.MoveSize -148, 0> ... Embêtant car je voudrais bien travailler sur n'importe quel écran.
voir code ci-dessous .
Pour info : le formulaire est ici dimensionné pour prendre toute la largeur de l'écran et toute la hauteur disponible en laissant la barre des tâches visible (code tiré à partir d'une étude attentive de différents tutoriels dont celui de l'excellent Maitre LELOUP).
Comme d'habitude : Quelqu'un, quelque part, SAIT !
Grand merci à ceux qui partagent
Unlucky Luke
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 ' **************************** ' Formulaire ******************* ' **************************** Private Sub Form_Current() Call TailleFormulaire(Application.Forms(Me.Name)) ' DoCmd.MoveSize 0, 0 (marche pas bien) ' DoCmd.MoveSize BarreTache.Gauche, BarreTache.Haut (marche pas mieux) DoCmd.MoveSize -148, 0 End Sub ' **************************** ' Module ********************** ' **************************** Option Compare Database Public Type RECTANGLE Left As Long Top As Long Right As Long Bottom As Long End Type Public Type POSITION Gauche As Long Haut As Long Largeur As Long Hauteur As Long End Type Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECTANGLE) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long '***************************************** ' ** Dimensions de la Barre des Taches ** '***************************************** Public Function BarreTache() As POSITION Dim RectangleBarre As RECTANGLE Dim barreTemp As POSITION 'Rectangle de la Barre des Taches GetWindowRect FindWindow("Shell_traywnd", ""), RectangleBarre 'Dimensions de la Barre des Taches With barreTemp .Gauche = RectangleBarre.Left .Haut = RectangleBarre.Top .Largeur = RectangleBarre.Right - RectangleBarre.Left .Hauteur = RectangleBarre.Bottom - RectangleBarre.Top End With BarreTache = barreTemp End Function '***************************************** ' ***** Taille du Formulaire courant ***** '***************************************** Public Sub TailleFormulaire(Formulaire As Form) Formulaire.InsideWidth = BarreTache.Largeur * 15 Formulaire.InsideHeight = (GetSystemMetrics(1) - BarreTache.Hauteur) * 15 End Sub
Partager