Win32のダイアログについて – プログラミング – Home

Win32のダイアログについて
 
通知
すべてクリア

[解決済] Win32のダイアログについて


saitama
 saitama
(@saitama)
ゲスト
結合: 21年前
投稿: 12
Topic starter  

Win32 非MFCにおいてのダイアログについて質問です。

ダイアログとモードレスダイアログですが
以下の2つの作成関数において

int DialogBox(
HINSTANCE hInstance,
LPCTSTR lpTemplate ,
HWND hWndParent,
DLGPROC lpDialogFunc
);

HWND CreateDialog(
HINSTANCE hInstance ,
LPCTSTR lpTemplate,
HWND hWndParent ,
DLGPROC lpDialogFunc
);

2つ目の引数 lpTemplate は必ずリソーススクリプトで記述された
ダイアログボクッステンプレートを指定しなければならないのでしょうか?

私としてはメインウィンドウに対して CreateWindowEx などで
hMenu 引数にリソーススクリプトなしでリソースIDのみ与えれば
コントロールを貼り付けるのと同じように
ダイアログもしたいのですが、これって無理なんでしょうか?

また、CreateWindow などでモーダルやモードレスダイアログと
同等のウィンドウを作るにはどうしたらよいのでしょうか
CreateDialog や DialogBox がCreateWindow(Ex?)を呼び出しているのは
わかるのですが・・・
WS_DLGFRAME 等でウインドウを作成してみるとメインウィンドウから外へダイアログがでれ無
かったりします。
どのような WS_, WS_EX_, DS_ フラグを指定しているのかわかりません。

以上よろしくお願いします。


引用未解決
トピックタグ
n
 n
(@n)
ゲスト
結合: 22年前
投稿: 90
 

リソーススクリプトなしでダイアログを出したいのならCreateDialogIndirectとか。
不定長配列扱うのが面倒ですが。

>メインウィンドウから外へダイアログがでれ無かったりします。
WS_CHILDフラグが付いてたりしないですか?


返信引用
saitama
 saitama
(@saitama)
ゲスト
結合: 21年前
投稿: 12
Topic starter  

>>メインウィンドウから外へダイアログがでれ無かったりします。
>WS_CHILDフラグが付いてたりしないですか?
の件ですが継承したクラスでオーバーライドしているはずのものが
しておらず、WS_CHILDが立ったまま
という方法のミスでした。お騒がせしました。

CreateDialogIndirectを使用しとりあえず解決致しました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました