Donner à une Form la possibilité d'être en premier plan et d'avoir LE FOCUS, d'être séléctioné ! ! !
voir un problème que j'avais là :
http://www.vbfrance.com/forum/sujet-COMMENT-FAIRE-GLISSER-FORM-VENANT-BORDDE-ECRAN_1605687.aspx
Source / Exemple :
'-------------------------- la souris --------------------------
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwflags As Long, _
ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
' ---Définition des constantes---
Public Const MOUSEEVENTF_ABSOLUTE = &H8000
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_MIDDLEDO = &H20
Public Const MOUSEEVENTF_MIDDLEUP = &H40
Public Const MOUSEEVENTF_MOVE = &H1
Public Const MOUSEEVENTF_RIGHTDOWN = &H8
Public Const MOUSEEVENTF_RIGHTUP = &H10
Public Sub Premier_plan(la_form As Object, Optional ByVal active As Boolean = True, Optional ByVal Clic_mouse_pour_avoir_le_focus As Boolean = False)
'force l'affichage au dessus des autres fenetres, bien sûr
'Clic_mouse_pour_avoir_le_focus=true permet de forcer le FOCUS ! ! ! !
la_form.Show
If active = True Then
SetWindowPos la_form.hWnd, -1, 0, 0, 0, 0, &H2 Or &H1
Else
SetWindowPos la_form.hWnd, -2, 0, 0, 0, 0, &H2 Or &H1
End If
If Clic_mouse_pour_avoir_le_focus = True Then
X% = (la_form.Left + la_form.Width / 2) / Screen.TwipsPerPixelX
Y% = ((la_form.Top + la_form.Height) / Screen.TwipsPerPixelX) - 4
SetCursorPos X%, Y%
Call mouse_event(MOUSEEVENTF_LEFTDOWN, X%, Y%, 0, 0) 'on enfonce le bouton
Call mouse_event(MOUSEEVENTF_LEFTUP, X%, Y%, 0, 0) 'on relache le bouton
End If
End Sub
Conclusion :
pour le FOCUS c'est plus une astuce d'utiliser le clic souris, mais j'ai rien trouver d'autre, si quelqu'un à mieux ne pas hésiter, cela serais plus propre !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.