OVH Cloud OVH Cloud

Position d'un formulaire

5 réponses
Avatar
Dominique
Bonjour,

Je sais d=E9placer et dimensionner un formulaire via la=20
commande docmd.movesize.

Mais comment connaitre la position d'un formulaire =E0=20
l'=E9cran (X tips =E0 gauche et Y tips en haut).

Merci pour votre aide
Dominique

5 réponses

Avatar
Raymond [mvp]
Bonjour.

utilise les fonctions ci-après:
MsgBox Me.WindowLeft & ";" & Me.WindowTop & ";" & Me.WindowWidth & ";" &
Me.WindowHeight


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dominique" a écrit dans le message de
news:1440e01c444c2$8b977680$
Bonjour,

Je sais déplacer et dimensionner un formulaire via la
commande docmd.movesize.

Mais comment connaitre la position d'un formulaire à
l'écran (X tips à gauche et Y tips en haut).

Merci pour votre aide
Dominique
Avatar
Dominique
Bonjour,

Merci pour ta réponse

je veux connaitre la position d'un formulaire après
redimensionnement.

Si j'écris les fonctions que tu m'as indiquées dans
l'évênement Private Sub Form_Resize(), il me met le
message d'erreur "Erreur de compilation membre de méthode
ou de données introuvable".

Faut-il modifier le me ?

Merci à toi
Dominique
-----Message d'origine-----
Bonjour.

utilise les fonctions ci-après:
MsgBox Me.WindowLeft & ";" & Me.WindowTop & ";" &
Me.WindowWidth & ";" &

Me.WindowHeight


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dominique" a écrit
dans le message de

news:1440e01c444c2$8b977680$
Bonjour,

Je sais déplacer et dimensionner un formulaire via la
commande docmd.movesize.

Mais comment connaitre la position d'un formulaire à
l'écran (X tips à gauche et Y tips en haut).

Merci pour votre aide
Dominique


.



Avatar
Raymond [mvp]
il faut access xp.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dominique" a écrit dans le message de
news:143ac01c444cb$0b1fcda0$
Bonjour,

Merci pour ta réponse

je veux connaitre la position d'un formulaire après
redimensionnement.

Si j'écris les fonctions que tu m'as indiquées dans
l'évênement Private Sub Form_Resize(), il me met le
message d'erreur "Erreur de compilation membre de méthode
ou de données introuvable".

Faut-il modifier le me ?

Merci à toi
Dominique
Avatar
Dominique
Bonjour,

Hélas ! j'ai access 97

Merci
Dominique
-----Message d'origine-----
il faut access xp.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dominique" a écrit
dans le message de

news:143ac01c444cb$0b1fcda0$
Bonjour,

Merci pour ta réponse

je veux connaitre la position d'un formulaire après
redimensionnement.

Si j'écris les fonctions que tu m'as indiquées dans
l'évênement Private Sub Form_Resize(), il me met le
message d'erreur "Erreur de compilation membre de méthode
ou de données introuvable".

Faut-il modifier le me ?

Merci à toi
Dominique


.



Avatar
Guy DETIENNE
Salut ;O)

Testé sous Access 97 car tout le monde ne travaille pas avec Access XP !
Dans un module:

Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long,
lpRect As RECT) As Long
Public Declare Function apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps"
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Declare Function apiReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal
hWnd As Long, ByVal hDC As Long) As Long
Public Declare Function apiGetDC Lib "user32" Alias "GetDC" (ByVal hWnd As
Long) As Long

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Const DIRECTION_VERTICAL = 1
Public Const DIRECTION_HORIZONTAL = 0
Private Const LOGPIXELSX = 88
Private Const LOGPIXELSY = 90

Function fPixelsToTwips(lngPixels As Long, lngDirection As Long) As Long
On Error GoTo E_Handle

Dim lngDeviceHandle As Long
Dim lngPixelsPerInch As Long
lngDeviceHandle = apiGetDC(0)
If lngDirection = DIRECTION_HORIZONTAL Then
lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSX)
Else
lngPixelsPerInch = apiGetDeviceCaps(lngDeviceHandle, LOGPIXELSY)
End If
lngDeviceHandle = apiReleaseDC(0, lngDeviceHandle)
fPixelsToTwips = lngPixels * 1440 / lngPixelsPerInch
fExit:
On Error Resume Next
Exit Function
E_Handle:
MsgBox Err.Description, vbOKOnly + vbCritical, "Error: " & Err.Number
Resume fExit
End Function

Dans ton formulaire :

Dim FrmRect As RECT

GetWindowRect Me.hWnd, FrmRect

MsgBox "Gauche: " & fPixelsToTwips(FrmRect.Left, DIRECTION_HORIZONTAL) &
vbCrLf & "Haut:" & fPixelsToTwips(FrmRect.Top, DIRECTION_VERTICAL) & vbCrLf
& "Largeur:" & fPixelsToTwips(FrmRect.Right - FrmRect.Left,
DIRECTION_HORIZONTAL) & vbCrLf & "Hauteur:" &
fPixelsToTwips(FrmRect.Bottom - FrmRect.Top, DIRECTION_VERTICAL)


Guy



"Dominique" a écrit dans le message de
news:144ef01c444d8$abdc4220$
Bonjour,

Hélas ! j'ai access 97

Merci
Dominique
-----Message d'origine-----
il faut access xp.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dominique" a écrit
dans le message de

news:143ac01c444cb$0b1fcda0$
Bonjour,

Merci pour ta réponse

je veux connaitre la position d'un formulaire après
redimensionnement.

Si j'écris les fonctions que tu m'as indiquées dans
l'évênement Private Sub Form_Resize(), il me met le
message d'erreur "Erreur de compilation membre de méthode
ou de données introuvable".

Faut-il modifier le me ?

Merci à toi
Dominique


.