Gestion des fenêtres

Le
jv
Bonjour,
Voici 2 questions (VBA) :
1.- Comment demander qu'une fenêtre donnée soit activée ?
2.- Est-il possible d'obliger une fenêtre à rester affichée en premier plan
?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Guy DETIENNE
Le #5373391
Saluty ;O)

Pour placer la fenêtre au premier plan (à coller dans un module) :

Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal
cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_FRAMECHANGED = &H20
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_DRAWFRAME = &H20
Public Const SWP_SHOWWINDOW = &H40

Public Sub FormOnTop(hWindow As Long, bTopMost As Boolean)

Dim wFlags, Placement

wFlags = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE

Select Case bTopMost
Case True
Placement = HWND_TOPMOST
Case False
Placement = HWND_NOTOPMOST
End Select

SetWindowPos hWindow, Placement, 0, 0, 0, 0, wFlags

End Sub

Utilisation
Call FormOnTop(Me.Hwnd,True)

Guy

"jv" news:c72eom$bcc$
Bonjour,
Voici 2 questions (VBA) :
1.- Comment demander qu'une fenêtre donnée soit activée ?
2.- Est-il possible d'obliger une fenêtre à rester affichée en premier
plan

?





jv
Le #5373351
Merci,Guy.
J'ai dû mal m'exprimer.
Je souhaite que la fenêtre reste en permanence au premier plan, tant que
l'on ne la ferme pas.


"Guy DETIENNE" u$
Saluty ;O)

Pour placer la fenêtre au premier plan (à coller dans un module) :

Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal
cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_FRAMECHANGED = &H20
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_DRAWFRAME = &H20
Public Const SWP_SHOWWINDOW = &H40

Public Sub FormOnTop(hWindow As Long, bTopMost As Boolean)

Dim wFlags, Placement

wFlags = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE

Select Case bTopMost
Case True
Placement = HWND_TOPMOST
Case False
Placement = HWND_NOTOPMOST
End Select

SetWindowPos hWindow, Placement, 0, 0, 0, 0, wFlags

End Sub

Utilisation
Call FormOnTop(Me.Hwnd,True)

Guy

"jv" news:c72eom$bcc$
Bonjour,
Voici 2 questions (VBA) :
1.- Comment demander qu'une fenêtre donnée soit activée ?
2.- Est-il possible d'obliger une fenêtre à rester affichée en premier
plan

?









Raymond [mvp]
Le #5373301
Bonjour.

Tu définis le formulaire en fenêtre indépendante, elle sera toujours devant,
et fenêtre modale qui empêchera d'activer une autre fenêtre.

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


"jv" news:c72n75$e0b$
Merci,Guy.
J'ai dû mal m'exprimer.
Je souhaite que la fenêtre reste en permanence au premier plan, tant que
l'on ne la ferme pas.


jv
Le #5373181
Merci, Raymond.

"Raymond [mvp]"
Bonjour.

Tu définis le formulaire en fenêtre indépendante, elle sera toujours
devant,

et fenêtre modale qui empêchera d'activer une autre fenêtre.

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


"jv" news:c72n75$e0b$
Merci,Guy.
J'ai dû mal m'exprimer.
Je souhaite que la fenêtre reste en permanence au premier plan, tant que
l'on ne la ferme pas.






Publicité
Poster une réponse
Anonyme