Last Updated 2011/08/31
Programming Tips Visual C++ クラス  索 引 
クラス内コールバック関数
2000/04/07

クラス内にコールバック関数を持つには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->...
}


参照
timeSetEvent
EnumWindows(全てのウィンドウ)
クラス関数をスレッドにする
前後のTips
クラス内コールバック関数

DSS ProgrammingTipsCGI Ver2.02