• ベストアンサー

常にウィンドウAをウィンドウBの前面に表示するには

現在、VisualStudio6を用いて、MFC を使わずに作成しています。 その過程で、常にウィンドウAをウィンドウBの前面に表示したいと思いました。 「モーダルダイアログで、親ウィンドウが操作出来るもの」と言うようなイメージです。 恐らく、何らかのメッセージを捉え、処理すれば良いのだと思うのですが、皆様のお力添えを頂けないでしょうか? Windows95でも動作しそうな方法を教えて頂けると非常に有り難いです^^; リンク先はJavaScriptですが、希望している動作は下のURLの様なものです。 http://www.openspc2.org/reibun/javascript/sub_window/005/ どうぞ、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30727
noname#30727
回答No.2

ウィンドウAを作成(CreateWindowなど)または、モードレスダイアログAを作成(CreateDialogなど)する時に、オーナー(hWndParent)をウィンドウをBにするのとは違う意味ですか?

sssohei
質問者

お礼

ご回答有り難うございますm(__)m 基本的な部分を見落としておりました。お教え頂きました方法でうまく行きました。 どうも、有り難うございました。

その他の回答 (2)

noname#18951
noname#18951
回答No.3

>「モーダルダイアログで、親ウィンドウが操作出来るもの」 これではモーダルダイアログである意味がいないので「Aをモーダレスダ イアログにしてBを操作する」というアプローチはいかがでしょう?モーダ ルじゃBはユーザが扱えませんが、それでいいのでしょうか?  Bをユーザが操作する必要がなければモーダルダイアログでも大丈夫でし ょう。あとはトリッキーにSendMessageなどを駆使すればいいのでは。

sssohei
質問者

お礼

他の方に教えて頂いた方法でうまく行きました。 アドバイスどうも有り難うございました。

sssohei
質問者

補足

表現が適切でなく、申し訳ありません。 用途なのですが、メインのウィンドウにで操作しているとき、サブウィンドウが開いて、そこに、メッセージを表示すると言うものです。そのため、メインのウィンドウが操作出来なくなっては本末転倒です^^; MSOffice で不評だった、「アシスタント」の様なウィンドウです。ただ、TOPMOST にはしたくないのです^^; ダイアログではなく、ウィンドウで作成出来ると有り難いのです>書き直さなくて良いと言うだけですが^^; 良い方法がありましたら、よろしくお願いします

  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 MFC&WinAPIのTipsを掲載しているサイトがあります。 そちらを参考にしてください。 Win32 Programming Tips 必ずウィンドウをフォアグラウンドまたはアクティブにするには? http://www.nt.sakura.ne.jp/~miwaki/progtips/wndpos/absforeground.shtml

参考URL:
http://www.nt.sakura.ne.jp/~miwaki/progtips/wndpos/absforeground.shtml
sssohei
質問者

お礼

他の方の方法を採用させて頂きましたが、アドバイス有り難うございました。