ダイアログ表示後に1回だけ実行
ダイアログベースのプログラムで、ダイアログを表示後にメッセージボックスを表示しようとして、下のプログラムのようにしたのですがダイアログが表示される前にメッセージボックスが表示されてしまいます。
ダイアログが表示された直後に1回だけ表示されるようにするにはどうすればいいですか?
#include<Windows.h>
#include "resource.h"
HINSTANCE hinst;
INT_PTR CALLBACK dlgproc(HWND,UINT,WPARAM,LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
hinst=hInstance;
DialogBox(hinst,TEXT("mydlgmain"),NULL,dlgproc);
}
INT_PTR CALLBACK dlgproc(HWND hwnd,UINT msg,WPARAM wp,LPARAM lp)
{
TCHAR moji[]=TEXT("ダイアログ表示");
switch(msg)
{
case WM_INITDIALOG:
MessageBox(hwnd,moji,TEXT(""),MB_OK);
return(INT_PTR)TRUE;
case WM_CLOSE:
EndDialog(hwnd,LOWORD(wp));
return (INT_PTR)TRUE;
}
return(INT_PTR)FALSE;
}
--- 実行環境 ---
Microsoft Visual C++ 2010 Express
WIN32 ユニコードビルド
C言語
お礼
回答、ありがとうございます。 したいことは、閉じようとしても閉じれないようにすることですが、WM_CLOSEが送られるんだったらできますね!わかりました!!ありがとうございます!!