Home
Home

--- Soumis par Dev Ashish---

hWnd de contrôles.

(Q) Comment mettre la main sur la poignée d'un contrôle, en cours d'exécution?

(A) Les contrôles d'Access ne sont pas des contrôles du genre de ceux de   VB.  Ceux d'Access sont tracés sur l'écran, en cours d'exécution et en tant que tel, ne possèdent pas de handle (poignée) unique comme ceux de VB.

    Losque un contrôle d'Access reçoit le focus, il devient une véritable fenêtre, et il est alors possible de retrouver son hWnd, mais puisque ce n'est toujours pas un contrôle de type VB, il n'y a pas grand chose à en faire.

'********* Code Start *************
Private Declare Function apiGetFocus Lib "user32" _
        Alias "GetFocus" _
         () As Long
         
Function fhWnd(ctl As Control) As Long
    On Error Resume Next
    ctl.SetFocus
    If Err Then
        fhWnd = 0
    Else
        fhWnd = apiGetFocus
    End If
    On Error GoTo 0
End Function
'*********** Code End *************