C++のvisual c++ 2008 express editionについてです。

デバッグボタンを押しても、前に実行した結果が出てしまいます。
因みに、実行したいソースは↓です。
#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人5回まで
  • 登録:
  • 終了:2013/11/12 18:45:03

回答1件)

id:cx20 No.1

回答回数607ベストアンサー獲得回数108

アウトプットウィンドウ(出力ウィンドウ)の結果はどうなってますか?
恐らく、コンパイルエラーになっていると思われます。

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 スキップ ==========
UNITUINT
WPARAM wPARAMWPARAM 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;
}
id:cx20

ちなみに、上記のケースでは MyWinProc() は呼ばれない為、

#include <windows.h>
#include <tchar.h>

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hpInst, LPSTR lpCmd, int nCmd)
{
    MessageBox(NULL, _T("テスト"), _T("winapp"), MB_OK);
    return 0;
}

と、同じ意味になります。

2013/11/05 22:27:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません