ファイル選択画面で親ダイアログが操作できる。 – プログラミング – Home

ファイル選択画面で親ダイアログが操作で...
 
通知
すべてクリア

[解決済] ファイル選択画面で親ダイアログが操作できる。


sum42(超初心者)
 sum42(超初心者)
(@sum42(超初心者))
ゲスト
結合: 18年前
投稿: 2
Topic starter  

VC++でダイアログベースでボタンを押下したときに
ファイル選択画面を表示するようにしてますが、
このとき、後に隠れている親ダイアログの操作ができてしまいます。
(ファイル選択画面が二重、三重起動できちゃいます)

OPENFILENAME構造体の2番目の変数に
親ハンドルを設定しなければならないようなのですが、
親ハンドルをどうやって取得するのかわかりません。
初歩的な質問だと思いますがよろしくお願いします。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>VC++でダイアログベース
MFCでしょうか?

>OPENFILENAME構造体
ということは、CFileDialogではなく、GetOpenFileName/GetSaveFileName
を使用しているのでしょうか?

MFCであれば、
GetOpenFileName/GetSaveFileNameの場合
CXXXDlgクラスのメンバ変数のm_hWnd
もしくはGetSafeHwndメソッドでハンドルを取得できます。

CFileDialogの場合、最後の引数にthisを指定すればいいです。


返信引用
sum42(超初心者)
 sum42(超初心者)
(@sum42(超初心者))
ゲスト
結合: 18年前
投稿: 2
Topic starter  

解決しました!!
ありがとうございました。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

訂正)
>CFileDialogの場合、最後の引数にthisを指定すればいいです。
はコンストラクタでの話です。

さらにMFCのバージョンによって引数が違うようです。

VC6までのMFCであれば、最後の引数がpParentWnd になるのですが、
VC2003以降のMFCの場合、最後の引数ではないようです。

VC++6
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vcmfc98/html/_mfc_cfiledialog.3a3a.cfiledialog.asp
VC++2002以降
http://msdn.microsoft.com/library/ja/default.asp?url=/library/en-
us/vclib/html/_mfc_cfiledialog.3a3a.cfiledialog.asp

ということで、環境によって記述の仕方が変わる可能性があるため、
ご自分の環境は必ず明記してください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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