|
第 |
Last Updated 2000/04/07 |
![]() ![]() Visual C++ クラス | |
| クラス内コールバック関数 |
クラス内にコールバック関数を持つにはstaticにて関数を宣言する.
ただ,その場合コールバック関数内ではthisポインタは使えない.
thisポインタを使いたい場合は,コールバック関数にthisポインタを渡してしまう.
例えば,Enum*系のAPIのコールバックならば,
Enum*のLPARAMにthisを渡してしまう.
::EnumWindows(EnumWindowProc, (LPARAM)this );
BOOL CALLBACK CMyClass::EnumWindowProc(HWND hWnd, LPARAM lParam)
{
CMyClass *pThis = (CMyClass*)lParam;
pThis->...
}