- ベストアンサー
常にウィンドウAをウィンドウBの前面に表示するには
現在、VisualStudio6を用いて、MFC を使わずに作成しています。 その過程で、常にウィンドウAをウィンドウBの前面に表示したいと思いました。 「モーダルダイアログで、親ウィンドウが操作出来るもの」と言うようなイメージです。 恐らく、何らかのメッセージを捉え、処理すれば良いのだと思うのですが、皆様のお力添えを頂けないでしょうか? Windows95でも動作しそうな方法を教えて頂けると非常に有り難いです^^; リンク先はJavaScriptですが、希望している動作は下のURLの様なものです。 http://www.openspc2.org/reibun/javascript/sub_window/005/ どうぞ、よろしくお願い致します。
- sssohei
- お礼率83% (5/6)
- C・C++・C#
- 回答数3
- ありがとう数5
- みんなの回答 (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
お礼
他の方の方法を採用させて頂きましたが、アドバイス有り難うございました。
関連するQ&A
- 条件付きのウインドウ操作
いくつかのHTMLファイルを用意しています。階層は次の通りです。 index.html ├sub1.html全てお互いにリンクしています。 ├sub2.html ├sub3.html ・ ・ index.htmlからsub.htmlにジャンプする場合は常にwindow1という名前の新しいウインドウを開くようにしています。subは全てwindow1で表示させる。このコードは理解できましたが…こんな感じ function winopen(file){ window.open(file,'window1');} <body>内 <a href="javascript:winopen('sub1.html','window1');"></a> そこで質問です。 sub.htmlからindex.htmlに移動する際、index.htmlが閉じられている場合だけ、新しくウインドウを開きたい。(window1に上書きしたくない)index.htmlが開いている場合はindex.htmlを前面に出したいのですが…頭が混乱してうまいコードを考え付きません。 よろしかったらアドバイスお願いします。
- ベストアンサー
- JavaScript
- safari2.0でWindowsIEのような「常に前面に表示」をしたい
WindowsIEとsafari2.0で動作するWebページを作成しています。 WindowsIEで可能な 「ウィンドウを常に前面に表示し、 閉じられるまで他のウィンドウに遷移しない」 をsafari2.0でもできればと考えています。 # windows.showModalDialog(); safari2.0でもこのようなことが可能なのでしょうか?
- ベストアンサー
- Mac
- サブウィンドウを常に最前面に表示する
お世話になります、 現在JavaScriptの勉強をしているのですが、以下の問題に突き当たり困っています。 問題1. popup = window.open("subWindow.html","subWindow",'width=200,height=400,scrollbars=1,left=50,top=50, dependent=yes'); メソッドによって表示したウィンドウを常に最前列に表示する方法をご存知の方いらっしゃったら教えていただきたいのですが。 親画面をクリックするとSubWindowが親画面の下に隠れてしまい困っています。 よろしくお願いします
- ベストアンサー
- JavaScript
- Windows7で起動ウインドウを最前面にならない
アプリから起動したウインドウ(印刷プレビュー)を表示の際、最前面に 出したいと考えてます。 レジストリ値"ForegroundLockTimeout"を0に変更することで新しい ウインドウが常に最前面に表示されることを知りました。 しかし、Windows7では"ForegroundLockTimeout"の値が有効になって いないのか最前面に表示されません。再起動も何度も実施しています。 レジストリ値を確認しましたが、0に変更した状態のままでした。 Windows7では有効にする手順が違うのでしょうか? お力添えの程よろしくお願いします。 ちなみにWindowsXP、Vista、7でレジストリの値を0に変更したり、 200,000に変更したりしてテストしたところ、同じプレビューが最前面だったり 後ろに隠れたりコントロールできました。Windows7だけ有効になりません・・・ 今回10枚程度印刷を実施するテストで検証しました。
- 締切済み
- Windows 7
- safari2.0でWindowsIEのような「常に前面に表示」をしたい
# 過去に同じ件で質問をしたのですが、 # Mac mini(Tiger)でテストしたところ、 # 解決できませんでしので再度質問します。 WindowsIEとsafari2.0で動作するWebページを作成しています。 WindowsIEで可能な 「ウィンドウを常に前面に表示し、 閉じられるまで他のウィンドウに遷移しない」 をsafari2.0でもできればと考えています。 WindowsIEでは「windows.showModalDialog();」で実現できるのですが、 Tiger の safari2.0 で試験したところ、 「windows.showModalDialog();」は動作しませんでした。 「windows.showModalDialog();」が WindowsIE 固有の 機能であることは承知済みなのですが、 これに変わる機能があればと思っています。 safari2.0でもこのようなことが可能なのでしょうか?
- ベストアンサー
- Mac
- MFCダイアログボックスを最前面に表示
MFCでダイアログを表示するアプリを作成しようとしています。 そこでダイアログボックスを表示させたときに最前面に表示させる方法を教えていただきたいと思ってます。 ボタン押下でダイアログ表示させるのではなく、IPメッセンジャーのようにタスク常駐していてネットワーク上からのトリガーでダイアログを表示させようとしています。 ダイアログが表示されたときに、他のプログラムを起動している場合でも、クリック等をしても、他のウィンドウの下に隠れないようにしたいと思ってるのですが、可能でしょうか。 つまり、そのダイアログが表示されている間は何をしても最前面に表示させておきたいのです。 なにとぞよろしくお願いいたします。 補足が必要でしたら、おっしゃってください。よろしくお願いします。
- 締切済み
- C・C++・C#
- リンクで別ウインドウを立ち上げる場合
時間がなくて、ものすごい困っているので教えてください。 JavaScriptでテキストリンク部分から別ウインドウを立ち上げたいのですが、 <!-- function openWin() { window.open("sub.html","sub","width=320,height=240"); } // --> これだと一つのリンクと一つのウインドウにということになりますよね。 4つそういったリンクさせる場所が存在し、さらに同じサイズのウインドウを立ち上げたいのですが、4つを列記する場合はどうすればよいのでしょうか。javascript初心者なのでどうしてもわかりません。ご存じの方がいらっしゃいましたら、教えてください!
- ベストアンサー
- JavaScript
- ウインドウの後ろに隠れているページを前面に出したいんです。
「呼び出し元ページ」をA 「呼び出されるWINDOWページ」をB と例えます。 「A」のリンクをクリックすると「B」がNEW WINDOWで開き、既に開いている「B」のリンクをクリックすると背面「A」が手前に来るjavascriptに挑戦しているのですが、うまく動作しないんです。 逆の順序「B」→「A」→「B」もです。 WIN IE6.0では成功しましたが、FIREFOX、ネスケ、Mac safariの最新verではダメでした。 すみません、誰か教えて頂けないでしょうか。 現在「A」「B」のページには下記の記述をしてます。 IEでは大丈夫でした。 別の方法でも良いのでお願いします。 ■「呼び出し元ページA、test1.com」 <script language="javascript"> <!-- window.focus(); //--> </script> <A href=http://www.test2.com/ target=test>リンク</A> ■「呼び出されるWINDOWページB、test2.com」 <script language="javascript"> <!-- window.focus(); //--> </script> <A href=http://www.test1.com/ target=test>リンク</A>
- ベストアンサー
- JavaScript
- 最前面に出てこない
新しく起動したアプリケーションとか、警告や完了のダイアログは、目立つように最前面にでてくるのが普通ですが、最近最前面に出てこなくなりました。新たにwindowが開いた場合はタスクバーが点滅するので気づきますが、いちいちそれを押して最前面に出してやらなければいけないので面倒です。 ほとんどのアプリでそのような状態となるので、各々のアプリが原因ではなくWindowsの設定が変わってしまったように思います。 何かの設定でそれを直すことはできるでしょうか。 使用しているOSは、Windows2000SP2です。 最近やったことといえば、OSの起動がやたら遅くなってきたので、OSを上書き再インストールして使用していたアプリやドライバーを最インストールしまくりました。
- ベストアンサー
- Windows NT・2000
- 小さな別ウインドウを常に手前に表示するようにすると、親ウインドウがスクロールしにくいのです
Javascriptでリンク先を別窓で開くようにしました。 その別窓を、<body onblur="focus()">で常に手前に表示するようにすると、親ウインドウ(リンク元)のスクロールバーが思うように動かないのです。(別ウインドウが常にアクティブになっているからだと思うのですが)どのようにすればよいでしょうか?
- ベストアンサー
- JavaScript
お礼
ご回答有り難うございますm(__)m 基本的な部分を見落としておりました。お教え頂きました方法でうまく行きました。 どうも、有り難うございました。