- ベストアンサー
常にウィンドウAをウィンドウBの前面に表示するには
現在、VisualStudio6を用いて、MFC を使わずに作成しています。 その過程で、常にウィンドウAをウィンドウBの前面に表示したいと思いました。 「モーダルダイアログで、親ウィンドウが操作出来るもの」と言うようなイメージです。 恐らく、何らかのメッセージを捉え、処理すれば良いのだと思うのですが、皆様のお力添えを頂けないでしょうか? Windows95でも動作しそうな方法を教えて頂けると非常に有り難いです^^; リンク先はJavaScriptですが、希望している動作は下のURLの様なものです。 http://www.openspc2.org/reibun/javascript/sub_window/005/ どうぞ、よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ウィンドウAを作成(CreateWindowなど)または、モードレスダイアログAを作成(CreateDialogなど)する時に、オーナー(hWndParent)をウィンドウをBにするのとは違う意味ですか?
その他の回答 (2)
>「モーダルダイアログで、親ウィンドウが操作出来るもの」 これではモーダルダイアログである意味がいないので「Aをモーダレスダ イアログにしてBを操作する」というアプローチはいかがでしょう?モーダ ルじゃBはユーザが扱えませんが、それでいいのでしょうか? Bをユーザが操作する必要がなければモーダルダイアログでも大丈夫でし ょう。あとはトリッキーにSendMessageなどを駆使すればいいのでは。
お礼
他の方に教えて頂いた方法でうまく行きました。 アドバイスどうも有り難うございました。
補足
表現が適切でなく、申し訳ありません。 用途なのですが、メインのウィンドウにで操作しているとき、サブウィンドウが開いて、そこに、メッセージを表示すると言うものです。そのため、メインのウィンドウが操作出来なくなっては本末転倒です^^; MSOffice で不評だった、「アシスタント」の様なウィンドウです。ただ、TOPMOST にはしたくないのです^^; ダイアログではなく、ウィンドウで作成出来ると有り難いのです>書き直さなくて良いと言うだけですが^^; 良い方法がありましたら、よろしくお願いします
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 MFC&WinAPIのTipsを掲載しているサイトがあります。 そちらを参考にしてください。 Win32 Programming Tips 必ずウィンドウをフォアグラウンドまたはアクティブにするには? http://www.nt.sakura.ne.jp/~miwaki/progtips/wndpos/absforeground.shtml
お礼
他の方の方法を採用させて頂きましたが、アドバイス有り難うございました。
お礼
ご回答有り難うございますm(__)m 基本的な部分を見落としておりました。お教え頂きました方法でうまく行きました。 どうも、有り難うございました。