デバッグボタンを押しても、前に実行した結果が出てしまいます。
因みに、実行したいソースは↓です。
#include <windows.h>
#include <tchar.h>
//関数プロトタイプ宣言
LRESULT WINAPI MyWinProc(HWND, UNIT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hpInst,
LPSTR lpCmd, int nCmd)
{
MessageBox(NULL, _T("テスト"), _T("winapp"), MB_OK);
return 0;
}
LRESULT WINAPI MyWinProc(HWND hWnd, UNIT msg,
WPARAM wPARAM, LPARAM lParam)
{
switch(msg) {
case WM_LBUTTONDOWN: //左クリック
MessageBox(hWnd, _T("クリックされた"), _T("winapp"), MB_OK);
break;
default:
//その他メッセージの処理
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
お願いします。
アウトプットウィンドウ(出力ウィンドウ)の結果はどうなってますか?
恐らく、コンパイルエラーになっていると思われます。
1>------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------ 1>2013/11/05 21:44:17 にビルドを開始しました。 1>InitializeBuildStatus: 1> "AlwaysCreate" が指定されたため "Debug\test.unsuccessfulbuild" を作成しています。 1>ClCompile: 1> test.cpp 1>test.cpp(5): error C2061: 構文エラー : 識別子 'UNIT' 1>test.cpp(14): error C2061: 構文エラー : 識別子 'UNIT' 1>test.cpp(17): error C2065: 'msg' : 定義されていない識別子です。 1>test.cpp(17): error C2050: switch 式の結果は、整数値になりませんでした。 1>test.cpp(23): error C2065: 'msg' : 定義されていない識別子です。 1>test.cpp(23): error C2065: 'wParam' : 定義されていない識別子です。 1>test.cpp(23): error C2065: 'lParam' : 定義されていない識別子です。 1> 1>ビルドに失敗しました。 1> 1>経過時間 00:00:02.77 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
誤 | 正 |
---|---|
UNIT | UINT |
WPARAM wPARAM | WPARAM wParam |
一応、コンパイルエラーを取り除いた版は↓こちら。
#include <windows.h> #include <tchar.h> //関数プロトタイプ宣言 LRESULT WINAPI MyWinProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hpInst, LPSTR lpCmd, int nCmd) { MessageBox(NULL, _T("テスト"), _T("winapp"), MB_OK); return 0; } LRESULT WINAPI MyWinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_LBUTTONDOWN: //左クリック MessageBox(hWnd, _T("クリックされた"), _T("winapp"), MB_OK); break; default: //その他メッセージの処理 return DefWindowProc(hWnd, msg, wParam, lParam); } return 0; }
ちなみに、上記のケースでは MyWinProc() は呼ばれない為、
と、同じ意味になります。
2013/11/05 22:27:37