こんばんは
最近Windowsプログラムでツールを作ることになりまして
久しぶりにダイアログボックスを作成しようとして、いきなり躓きました;;
DialogBox関数でダイアログを表示できないのですが、何か特別な処理って必要でしたっけ?
以下ソースコードです
#include <windows.h>
#include "resource.h"
BOOL CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, int nCmdShow )
{
DialogBox(hInstance, MAKEINTRESOURCE("IDD_DIALOG"), NULL, (DLGPROC)DialogProc);
return 0;
}
BOOL CALLBACK DialogProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_INITDIALOG: // ダイアログボックスが作成されたとき
return TRUE;
case WM_CLOSE:
EndDialog(hWnd, IDOK);
return TRUE;
}
return FALSE;
}
よろしくお願いします
No.3ベストアンサー
- 回答日時:
MAKEINTRESOURCE("IDD_DIALOG") → MAKEINTRESOURCE(IDD_DIALOG)
IDD_DIALOG はリソースIDなんですよね?
よく分かりませんが、ダイアログをいったん消して新しく作り直したところ
表示されました
ただ、""をつけて実行したらそれはそれで表示されませんでしたので
直接の原因だったのかはわかりませんが、間違いを見つけていただいたとのことで
ベストアンサーにさせていただきます
原因がよくわからないでちょっと釈然としませんが
質問に回答していただきどうもありがとうございました
No.2
- 回答日時:
そのダイアログにはなんかコモンコントロール乗っているんですか?
場合によってはInitCommonControls()やInitCommonControlsEx()が必要ですけど。
よく分かりませんが、ダイアログをいったん消して新しく作り直したところ
表示されました
原因がよくわからないでちょっと釈然としませんが
質問に回答していただきどうもありがとうございました
No.1
- 回答日時:
SDKで組んだことないので間違ってたらごめんなさい
>case WM_INITDIALOG: // ダイアログボックスが作成されたとき
>return TRUE;
return FALSE もしくは breakでは?
参考資料 http://7ujm.net/C++/SDKDLG.html
よく分かりませんが、ダイアログをいったん消して新しく作り直したところ
表示されました
原因がよくわからないでちょっと釈然としませんが
質問に回答していただきどうもありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Win32APIにて、ウィンドウ全体...
-
LoadImageを使ったアイコンファ...
-
なぜCreateHatchBushの設定が途...
-
Win32のファイルダイアログのサ...
-
プログラミングでエラーが出ま...
-
質問なのですが・・・
-
C言語win32api、エディットボッ...
-
1と表示させたいが12と表示される
-
なぜhButton1ボタンからのWM_CO...
-
WM_KEYDOWNでPrtScを捕まえる方...
-
エラー Run-Time Check Failur...
-
COMPORTマルチスレッドで例外発生
-
コンソールアプリケーションの...
-
この列挙体でsysjanの関数はあ...
-
C++で質問です。
-
Win32APIでウィンドウを中央に...
-
c言語のリダイレクトによる円...
-
Enterキーを押されたら次の処理...
-
「指定されたキャストは有効で...
-
エクセルのクイックアクセスツ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Win32APIでウィンドウを中央に...
-
エラー Run-Time Check Failur...
-
コンソールアプリケーションの...
-
MessageBoxについて
-
画像を表示したいのですが……
-
【Windowsアプリ】ファイルのド...
-
PeekMessageについて
-
キャレットの現在位置の表示 (W...
-
C言語win32api、エディットボッ...
-
ボタンの色(WINAPI)
-
Win32APIにて、ウィンドウ全体...
-
音量調節
-
エディットコントロール入力時...
-
ダイアログプログラムでEnterキ...
-
不明なエラー
-
C++のcase文の書き方
-
オーバーレイみたいな処理がしたい
-
ゲームとかの解像度変更&全画...
-
WM_CREATE について
-
LoadImageとSetCursorについて
おすすめ情報