アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
お世話になります。
開発環境:WindowsXP VC++6.0 MFC使用

ダイアログベースで画面を作成(A.exe CDialogベース)し、その画面でボタンを押下し
子画面(A_Child)を表示させます。表示方法はDoModal()で。
そのA_ChildはCDialogベースです。

A_Childダイアログが表示されている間(最前面)は、デスクトップ上の操作を
何も出来ない様にしたいのですが、方法はありますでしょうか?
(例:スタート→ログオフでダイアログが表示しますよね。
その時ってそのダイアログ以外は触れないですよね。)

せめて、自分たちが作成したアプリだけでも操作不可能にしたいのです。
SetWindowPos()、ModifyStyle()、色々試しましたが上手くいきません。
DoModalで表示させるのがそもそもまちがいののでしょうか?

何か方法が有りましたらよろしくお願いします。

説明が下手ですみません。

A 回答 (1件)

レベルが低くてしかもMFC使ったことない自分がWin32 APIの知識で語ります・・。


なるべく共通する表現で書いたつもりです。


#(例:スタート→ログオフでダイアログが表示しますよね。
その時ってそのダイアログ以外は触れないですよね。)

あれってダイアログだったんだ・・。
でも、[Alt]+[Tab]で簡単に他のウィンドウに切り替えて、同時に消滅しません?


マウスで画面操作を無効にしたいのであれば、WS_POPUPスタイルのウィンドウに背景色(HBRUSH)をNULLにセットして、画面いっぱいに描画すれば、あたかもマウス操作ができなくなっているようになると思います。

なので、[Alt]+[Tab]などでの切り替えを許していいというのであれば、[透明ダイアログ表示]→[見せたいダイアログ表示]という順で表示すればいいと思います。
    • good
    • 0
この回答へのお礼

返答ありがとうございます。
実験してみます。

お礼日時:2006/04/06 23:32

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