ダイアログボックスを表示するテストプログラムを作っているのですが、
実行してもなにも表示されず終了してしまいます。
原因が分からず困っています。どなたか分かる方教えてください。
ソースは
#include <windows.h>
#include "resource.h"
LRESULT CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
DialogBox(hInstance, "IDD_DIALOG_LOGIN", NULL, (DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hDlgWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_INITDIALOG:
return FALSE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_COMMAND_END:
EndDialog(hDlgWnd, IDC_COMMAND_END);
break;
default:
return FALSE;
}
break;
default:
return FALSE;
}
return TRUE;
}
よろしくお願いします。m(_ _)m
resource.hの中身はどうなっていますか?
DialogBox(hInstance, "IDD_DIALOG_LOGIN", NULL, (DLGPROC)DlgProc);
を
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG_LOGIN), NULL, (DLGPROC)DlgProc);
に変えたらどうなりますか?
resource.hの中身は
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif
#define IDD_DIALOG_LOGIN 101
#define IDC_EDIT_ID 1001
#define IDC_EDIT_PASS 1002
#define IDC_COMMAND_NEW 1003
#define IDC_COMMAND_CONNECT 1004
#define IDC_COMMAND_END 1005
です
MAKEINTRESOURCEを使ったら、うまく表示されました。
ありがとうございました。
解決忘れ^^
MAKEINTRESOURCEについてもっと調べてみようと思います。
ありがとうございました。