• 締切済み

非アクティブの状態で表示されるようにするには

Form1という名前のフォームが表示されていて、そのForm1のクライアント領域をクリックするとForm2という名前のフォームが新しく表示される、というプログラムを作っています。 そのとき、Form2が非アクティブの状態で表示されるようにしたいのです(つまり、Form1がアクティブのまま)。 このようにするにはどうすればいいでしょうか? よろしくお願いいたします。

みんなの回答

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

Form2を呼ぶとき。 Form2.Show vbModeless, Me Me.Setfocus クリックした時のUnloadは、マウスの動きを監視して、クリックした時処理すると出来るかな? ちょっとそこまでは検証できませんでした。

noname#208339
質問者

お礼

ありがとうございました。 参考にさせて頂きます。

  • pochi_won
  • ベストアンサー率38% (15/39)
回答No.2

formでのやりかたは判りませんが、単にポップアップのようにオブジェクトを表示したいのなら、フレームを使うのはどうでしょうか? ↓の場合は、Form1の上にCommand1とFrame1があり、Frame1の上にCommand2があります。 Frame1の上に作ったオブジェクトは、Frame1のvisibleで表示操作できます。 Private Sub Form_Load()  Frame1.Visible = False End Sub Private Sub Command1_Click()  Frame1.Visible = True End Sub Private Sub Command2_Click()  Frame1.Visible = False End Sub

noname#208339
質問者

お礼

ありがとうございました。 参考にさせて頂きます。

  • 50100
  • ベストアンサー率28% (99/351)
回答No.1

Form2を表示した後にForm1にフォーカスをセットすればForm1がアクティブになります。 コードで書くと Sub Form1_Click( ) Form2.Show Me.SetFocus End Sub こんな感じです。

noname#208339
質問者

補足

ありがとうございます。 ちょっと説明不足でした。 Form2をポップアップメニューのように表示したかったのです。 Form1がずっとアクティブのままでForm2が最前面に非アクティブで表示されるという感じです。 そして、Form2をクリックするとForm2が消えて、その間Form1がずっとアクティブのままである、というようなことがしたいのですが。またForm2の領域以外の部分をクリックしてもForm2が消えるという、まさにポップアップメニューのようなウインドウを作りたいのですが。 よろしくお願いいたします。

関連するQ&A