Manipuler la fenêtre principale

On peut souhaiter empêcher l'utilisateur d'utiliser les boutons de la fenêtre principale, c'est à dire, supprimer les fonctionnalités de la fenêtre programme.

Pour cela, on crée un module général dans lequel on placera le code ci-dessous.

A l'ouverture et à la fermeture de la base, on appellera la fonction adéquate.

Dans la partie déclarative :

Private Declare Function FindWindowA Lib "user32" _
                                     (ByVal lpClassName As String, _
                                      ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "user32" _
                                        (ByVal Hwnd As Long, _
                                         ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _
                                        (ByVal Hwnd As Long, _
                                         ByVal nIndex As Long, _
                                         ByVal dwNewLong As Long) As Long

Pour désactiver les fonctionnalités :

Sub DesactivateCasesSys()
    Dim Hwnd As Long
    Hwnd = FindWindowA("OMain", vbNullString)
    SetWindowLongA Hwnd, -16, GetWindowLongA(Hwnd, -16) And &HFFF7FFFF
End Sub

Pour activer les fonctionnalités :

Sub ActivateCasesSys()
    Dim Hwnd As Long
    Hwnd = FindWindowA("OMain", vbNullString)
    SetWindowLongA Hwnd, -16, GetWindowLongA(Hwnd, -16) Or &H80000
End Sub


Dernière modification : 28/12/2010 04:10
Catégorie : Les mémos - Base
Page lue 6292 fois