開発環境 WindowsXP VS2005 PlatformSDK C言語
LRESULT CALLBACK MainDlgProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM
lParam)
{
case IDM_NAME :
DialogBox(g_hInst,MAKEINTRESOURCE(IDD_NAME), NULL, (DLGPROC)
NameDlgProc);
return TRUE;
}
LRESULT CALLBACK NameDlgProc (HWND hWndName, UINT message, WPARAM wParam,
LPARAM lParam)
{
~~~~
SendMessage( ※ , WM_USER+1, 0, 0);
~~~~
return FALES;
}
NameDlgProcプロシージャから MainDlgProcプロシージャに自作メッセージを
送りたいのですが、SendMessage()の第一引数にhWndとすることもできず、困っていま
す。
こういう場合は、hWndをグローバル変数にコピーして使うのが正しいやり方なのでしょう
か。
でもそれはなんだかスマートではない気がするのですが・・・。
WPARAM, LPARAM を介して送ればいいんじゃないかと。
επιστημηさん
ええと・・すみません。
それはいったい、どういうことでしょうか。
> DialogBox(g_hInst,MAKEINTRESOURCE(IDD_NAME), NULL, (DLGPROC)NameDlgProc);
DialogBox関数の第3引数は親ウィンドウを指定するようにできます。
で、ダイアログプロシージャ内で、GetParent関数を呼べば、親ウィンドウのハンドルが
取得できるはずです。
あ、そーゆーことか。ごめん勘違い。
επιστημηさん Blueさん
できました!
なるほど・・・こういうことができたのですね。
お二人ともどうもありがとうございました。