ソフト表示画面のサイズを300*480に収めたいのですがどのように設定すればいいのか教えてください。また、2つのForm、Form1とForm2 を同時に起動してForm1を上側にForm2を下側にと表示させたいのですが、どのようにすればよろしいか教えてください。ちなみに表示するときは、Form1を起動状態にして、あるボタンを押したらForm2を起動という形にしたいのですが、どのようにすればよろしいですか?

A 回答 (2件)

勘違いしていました。

画面上の上下だったんですね。
「使用不可」ということを考えてモーダルなウィンドウににしてみました。微妙にフォームの名前が逆になっていますが、(^^;そんなのは、スタートアップフォームを変えればできるはずです。(プロジェクトのプロパティで変更できます)

以下のようにしてみてはどうでしょうか?
フォームを2こ用意してフォーム2にはコマンドボタンを貼り付けてください。以下はソースです。

'フォーム1に書くソース
Private Sub Form_Load()
  Me.Show
  ’フォーム2の場所を決定します。
  With Form2
    .Top = 0
    .Left = 0
    .Width = 3000
    .Height = 1200
  End With
’自分の場所を決定します
  With Me
    .Top = Form2.Top + Form2.Height
    .Left = Form2.Left
    .Width = Form2.Width
  End With
'ここでフォーム2をモーダル表示します
  Form2.Show vbModal
End Sub

'フォーム2に書くソース
Private Sub Command1_Click()
  ’自分を閉じます。
  Unload Me
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。ほんとうに参考になりました。また機会があれば、よろしくおねがいします。

お礼日時:2002/02/19 09:52

1番目の質問について


  Screen.TwipsPerPixelX で画面に対するtwips数を計算してあげればよいのではないでしょうか?
ではだめですか?

2番目の質問について
フォーム2が下にいるということなので先にフォーム2をスタートアップフォームに指定してフォーム2のロード時に以下のようなコードを書けばよいとおもいます
Private sub Form_Load()
  Form2.hide
Form1.Show vbModeless, Me
End Sub
ただし、フォーム2がフォーム1のオーナーになっているのでフォーム2の終了時に終了をキャンセルしてHideしてあげる必要があります。

わからないときは追加補足ください。

この回答への補足

ありがとうございます。えーっとですね。フォームの位置が画面上で上下に表示させて、フォーム1を起動させて、フォーム2の操作を無効にしておきたいのです。そして、フォーム1のボタンを押したら、フォーム1を終了してフォーム2を有効にさせたいのです。なにかややこしくてすいません。うまく説明ができなくて・・・よろしければお願いします。

補足日時:2002/02/16 21:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報