返信する: 汎用質問板



オプション

参照

Re: クラス内にて 引数に void* 型を持つ関数の override ができません
投稿者: びぎな・D 投稿日時: 2011/8/3 11:58
class 内にてWndProcのような関数を持つ場合には

HWND hWnd;
extern(Windows) static LRESULT WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
}
LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
}

のような形にしておいて、
thisポインタを

・SetProp / GetProp にて取得する
・CreateWindowEx の最後の引数に this を指定し、WM_NCCREATE 時に LPARAM より LPCREATESTRUCT を取得し、CREATESTRUCTのメンバである lpCreateParams に設定された this を取得する

このような方法で取得し、クラス内にて hWnd を設定した後に、HandleMessage を呼び出す。

このようにすることで、目的を達成できましたので、こちらにご報告させていただきます。

皆さん、有用な情報を教えて頂き、ありがとうございます。
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu