Function Reference


_WinAPI_SetWindowSubclass

Installs or updates a window subclass callback

#include <WinAPIShellEx.au3>
_WinAPI_SetWindowSubclass ( $hWnd, $pSubclassProc, $idSubClass [, $pData = 0] )

Parameters

$hWnd Handle of the window being subclassed.
$pSubclassProc A pointer to a window procedure. This pointer and the subclass ID uniquely identify this subclass callback.
(See MSDN for more information)
$idSubClass The subclass ID.
$pData [optional] The reference data. This value is passed to the subclass procedure. The meaning of this value is determined by the calling application.

Return Value

Success: True.
Failure: False.

Remarks

Subclass callbacks are identified by the combination of the callback address and the caller-defined subclass ID.
If the callback address and ID pair have not yet been installed, then this function installs the subclass,
otherwise, this function just updates the reference data.

Related

_WinAPI_SetWindowSubclass

See Also

Search SetWindowSubclass in MSDN Library.

Example

#include "Extras\WMDebug.au3"
#include <GUIConstantsEx.au3>
#include <WinAPIShellEx.au3>
OnAutoItExitRegister ('OnAutoItExit')
; Create GUI
Global $g_hForm= GUICreate ('Test '&StringReplace (@ScriptName ,'.au3','()'))
; Register DLL callback that will be used as window subclass procedure
Global $g_hDll= DllCallbackRegister ('_SubclassProc','lresult','hwnd;uint;wparam;lparam;uint_ptr;dword_ptr')
Global $g_pDll= DllCallbackGetPtr ($g_hDll)
; Install window subclass callback
_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
; Declared in 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

AltStyle によって変換されたページ (->オリジナル) /