UDF > WinAPIEx > ShellEx >


_WinAPI_DefSubclassProc

Appelle le gestionnaire suivant dans une cha�ne de sous-classe de fen�tre

#include <WinAPIShellEx.au3>
_WinAPI_DefSubclassProc ( $hWnd, $iMsg, $wParam, $lParam )

Param�tres

$hWnd Handle de la fen�tre sous-class�e.
$iMsg Le message � envoyer.
$wParam Les informations sp�cifiques au message.
$lParam Les informations sp�cifiques au message.

Valeur de retour

Retourne la valeur retourn�e sp�cifique au message envoy�.

Remarque

Le dernier gestionnaire dans la cha�ne de sous-classe est la proc�dure de fen�tre initiale pour la fen�tre sp�cifi�e.
Vous n'avez pas besoin d'appeler la proc�dure de fen�tre par d�faut; cette fonction l'appelle automatiquement.

Voir aussi

Consultez DefSubclassProc dans la librairie MSDN.

Exemple

#include <Extras\WMDebug.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIShellEx.au3>

OnAutoItExitRegister('OnAutoItExit')

; Cr�e une GUI
Global $g_hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'))

; Enregistre une fonction de rappel DLL qui sera utilis�e en tant que proc�dure de sous-classe de fen�tre
Global $g_hDll = DllCallbackRegister('_SubclassProc', 'lresult', 'hwnd;uint;wparam;lparam;uint_ptr;dword_ptr')
Global $g_pDll = DllCallbackGetPtr($g_hDll)

; Installe le rappel de la sous-classe de fen�tre
_WinAPI_SetWindowSubclass($g_hForm, $g_pDll, 1000, 0)

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func _SubclassProc($hWnd, $iMsg, $wParam, $lParam, $iID, $pData)
    #forceref $iID, $pData
    ; D�clar�e dans WMDebug.au3
    _WM_Debug($hWnd, $iMsg, $wParam, $lParam)
    Return _WinAPI_DefSubclassProc($hWnd, $iMsg, $wParam, $lParam)
EndFunc   ;==>_SubclassProc

Func OnAutoItExit()
    _WinAPI_RemoveWindowSubclass($g_hForm, $g_pDll, 1000)
    DllCallbackFree($g_hDll)
EndFunc   ;==>OnAutoItExit