Re: クラス内にて 引数に void* 型を持つ関数の override ができません

投稿ツリー


このトピックの投稿一覧へ

なし Re: クラス内にて 引数に void* 型を持つ関数の override ができません

msg# 1.4
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/8/3 11:58
びぎな・D 
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 を呼び出す。

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

皆さん、有用な情報を教えて頂き、ありがとうございます。
投票数:67 平均点:3.88
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





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

Menu