プロが教える店舗&オフィスのセキュリティ対策術

MFCでダイアログを表示するアプリを作成しようとしています。
そこでダイアログボックスを表示させたときに最前面に表示させる方法を教えていただきたいと思ってます。
ボタン押下でダイアログ表示させるのではなく、IPメッセンジャーのようにタスク常駐していてネットワーク上からのトリガーでダイアログを表示させようとしています。
ダイアログが表示されたときに、他のプログラムを起動している場合でも、クリック等をしても、他のウィンドウの下に隠れないようにしたいと思ってるのですが、可能でしょうか。
つまり、そのダイアログが表示されている間は何をしても最前面に表示させておきたいのです。
なにとぞよろしくお願いいたします。
補足が必要でしたら、おっしゃってください。よろしくお願いします。

A 回答 (4件)

VisualStudioのバージョンとOSのバージョンは?



VS6.0でしたら、リソースエディタでダイアログの
プロパティの、その他のスタイルで、「フォアグランドに表示」を指定する

この回答への補足

早速ありがとうございます。

バージョンはVS6.0SP5、OSはWin2000とXP両方です。

補足日時:2004/03/17 17:45
    • good
    • 3

>バージョンはVS6.0SP5、OSはWin2000とXP両方です。



OSがそれですと、フォアグランドに行かずにタスクバー上で点滅するだけの場合があるので、

http://home.att.ne.jp/yellow/hide_n/programming/ …

この処理をOnInitDialogで実行してください。
    • good
    • 0

別アプリも最前面にでる設定がされていたらどうなるのでしょうね?

    • good
    • 1

>つまり、そのダイアログが表示されている間は何をしても最前面に表示させておきたいのです。



うぎゃー、ごめんなさいm(..)m
IPメッセンジャーみたいでタスクトレイに常駐って書いてあったから、ついタスクトレイのアイコンをクリックしてウィンドウを表示するときにアクティブにする方法を書いてしまいました。

本当は、SetWindowPos()でHWND_TOPMOSTを指定してください。

>別アプリも最前面にでる設定がされていたらどうなるのでしょうね?

というパターンは、最前面ウィンドウを取り合う形になります。
あとからアクティブになったウィンドウの勝ちです。

この回答への補足

ありがとうございます。

どう説明すればいいかちょっと考えてしまってました。
試してみます。

補足日時:2004/03/22 11:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A