- 締切済み
非アクティブの状態で表示されるようにするには
Form1という名前のフォームが表示されていて、そのForm1のクライアント領域をクリックするとForm2という名前のフォームが新しく表示される、というプログラムを作っています。 そのとき、Form2が非アクティブの状態で表示されるようにしたいのです(つまり、Form1がアクティブのまま)。 このようにするにはどうすればいいでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Kuppycat
- ベストアンサー率50% (109/216)
Form2を呼ぶとき。 Form2.Show vbModeless, Me Me.Setfocus クリックした時のUnloadは、マウスの動きを監視して、クリックした時処理すると出来るかな? ちょっとそこまでは検証できませんでした。
- pochi_won
- ベストアンサー率38% (15/39)
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
お礼
ありがとうございました。 参考にさせて頂きます。
- 50100
- ベストアンサー率28% (99/351)
Form2を表示した後にForm1にフォーカスをセットすればForm1がアクティブになります。 コードで書くと Sub Form1_Click( ) Form2.Show Me.SetFocus End Sub こんな感じです。
補足
ありがとうございます。 ちょっと説明不足でした。 Form2をポップアップメニューのように表示したかったのです。 Form1がずっとアクティブのままでForm2が最前面に非アクティブで表示されるという感じです。 そして、Form2をクリックするとForm2が消えて、その間Form1がずっとアクティブのままである、というようなことがしたいのですが。またForm2の領域以外の部分をクリックしてもForm2が消えるという、まさにポップアップメニューのようなウインドウを作りたいのですが。 よろしくお願いいたします。
お礼
ありがとうございました。 参考にさせて頂きます。