ダイアログの存在をチェックする方法 – プログラミング – Home

ダイアログの存在をチェックする方法
 
通知
すべてクリア

[解決済] ダイアログの存在をチェックする方法


あちち
 あちち
(@あちち)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

【環境】
WindowsXP Service Pack 3
Microsoft Visual Studio .NET 2003

MDIのアプリケーションを作成しています。
アプリケーションには数種類のダイアログが存在し
DoModalによってダイアログを表示したりしています。

このようなアプリケーションでダイアログが表示されているか
いないか分かるような方法はないでしょうか?
今、考えている方法は、DoModalでフラグをセットし
Destoroyでフラグをリセットしようと思っています。
他にもっと効率的な方法をお知りの方いましたしたら
ご教授いただけないでしょうか?
※どのダイアログかを特定する必要はありません。

よろしくお願いします。


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

DoModal はダイアログが閉じられるまで戻らないので、ダイアログが開いている状態で別
の処理をするということは基本的にはできないはずです。
どうしてダイアログが開いているかどうか判定する必要があるのですか?


返信引用
あちち
 あちち
(@あちち)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

説明不足ですいません。

DoModalでダイアログを表示した後、ダイアログを移動すると
ダイアログの下にあるViewなどの描画処理が行われてしまいます。
ダイアログが表示されているときは、この描画の中の
処理を部分的に行いたくないのです。

よろしくお願いします。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> ダイアログが表示されているときは、この描画の中の
> 処理を部分的に行いたくないのです。

フラグでも用意すればいぃんじゃなくて?

bool ダイアログ表示中;

Dialog dlg;
ダイアログ表示中 = true;
dlg.DoModal();
ダイアログ表示中 = false;


返信引用
あちち
 あちち
(@あちち)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

やはりフラグを使うしかなさそうですね。
フラグによりダイアログの表示・非表示を判断するような
処理を実装しようと思います。

ご回答くださった方、ありがとうございます。


返信引用
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

>DoModalでダイアログを表示した後、ダイアログを移動すると
>ダイアログの下にあるViewなどの描画処理が行われてしまいます。
>ダイアログが表示されているときは、この描画の中の
>処理を部分的に行いたくないのです。

ダイアログを表示したときだけ描画内容が変わってしまいませんか?
描画処理内に描画以外の処理をしているのであれば
その方が問題かもしれません。

ダイアログの存在チェックにGetLastActivePopupを使うこともありますが
描画処理内から調べるのであればフラグの方がいいでしょうね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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