スレを勃てるまでもないC/C++の質問はここで 13
at TECH
208:デフォルトの名無しさん
10/01/06 01:14:54
>>189
ない。だから、少し間接的な方法をとる。
ウィンドウハンドルに好きな値を関連付ける機能があるので、オブジェクトへのポインタを登録しておくというもの。
こんな関数をグローバルまたはクラスの静的メンバ関数として定義し、
SetWindowLongPtr(hButton, GWLP_WNDPROC, (LONG_PTR)ButtonSubWndProcEntry)のように渡す。
(この問題とは直接関係ないが、SetWindowLongPtr使え)
あと、SetWindowLongPtr呼ぶ前に、SetProp(hButton, TEXT("MyClass object"), オブジェクトへのポインタ);する。
LRESULT CALLBACK ButtonSubWndProcEntry(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
MyClass* p = static_cast<MyClass*>(GetProp(hwnd, TEXT("MyClass object")));
return p->ButtonSubWndProc(hwnd, msg, wp, lp);
}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5500日前に更新/63 KB
担当:undef