ダイアログボックスからのダイアログ作成 – プログラミング – Home

ダイアログボックスからのダイアログ作成
 
通知
すべてクリア

[解決済] ダイアログボックスからのダイアログ作成


まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

お世話になっております。
ダイアログのインスタンスハンドルについてお聞きいたします。

環境 Win2000、VC++6.0 SDKです。

WinMain(引数S:hInst)からDialogBox(引数S:hInst)を作成して
メイン画面としていますが、
作成されたメインダイアログからもう一つダイアログを作成したいのです。

メインダイアログからダイアログを作成したい時、
DialogBox関数の第1引数は何のインスタンスハンドルを指定するべきなのでしょうか?
実行可能ファイルにダイアログボックステンプレートが入っているモジュールの
インスタンスハンドル(MSDNより)という意味がわかりません。

初歩的な質問で申し訳ありませんがよろしくお願い致します。


引用未解決
トピックタグ
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 80
 

::DialogBox関数は、第二引数のlpTemplateというダイアログリソースは、どこにあるかを知
りたい訳です。

この場合は、もう一つのダイアログのダイアログリソースを持っているモジュール(おそらくメ
インダイアログと同じ)のインスタンスハンドルを指定すれば良さそうです。


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

>不良PGさん
早速お返事いただきありがとうございます!!
DialogBox関数の第1引数の意味、とてもよくわかりました!

ダイアログリソースはメインダイアログと同じなので、
WinMainのインスタンスハンドル(hInst)を渡せばよいのですね?

しかし、ここでもう一つ質問させてください。
実装する時に、WinMainのインスタンスハンドルをメインダイアログの
ダイアログプロシージャに渡さないといけないとおもうのですが、
このような場合インスタンスハンドルをどう渡すべきなのでしょうか?
(グローバルで渡すかexternで渡すかの2通りしか思いつきません。すみません。)

お考えをお聞かせいただけると嬉しいです。
よろしくお願い致します。


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>ダイアログプロシージャに渡さないといけないとおもうのですが、
>このような場合インスタンスハンドルをどう渡すべきなのでしょうか?
>(グローバルで渡すかexternで渡すかの2通りしか思いつきません。すみません。)

プロシージャに渡す引数がないわけですから、

グローバル変数かスタティック変数を使えば良いのではないでしょうか。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 80
 

グローバルで問題ないと思いますが・・

どうしてもと言うなら
::DialogBoxParam
こんなのもあります


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

不良PGさん、Bunさん、ありがとうございました!

今回はグローバル変数を使うことにしました。
時間を取って、DialogBoxParamも試してみたいと思います。

ご教授いただきありがとうございました。
今後とも宜しくお願いいたします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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