640x480で、画面設計をおこなっています。

800x600と1024x768の時に画面を大きくしたいのですが

全体的におおきくしたいのです。  どうすればいいのか教えてください。

1024x768で画面設計して、640x480にちいかくもできますか。

両方ためして、きれいほうをしようとおもうのですが

A 回答 (3件)

screen.Heightで画面の縦幅が取れます。


それを利用して画面の比率を取得して全体的に大きく(または小さく)できます。

下記に簡単なサンプルを記述します。

Private Sub Form_Load()
Dim MyCtl
Dim Ratio As Double
Dim Resize As Boolean

Ratio = Screen.Height / 11520

For Each MyCtl In Form1
Resize = False
If TypeOf MyCtl Is TextBox Then
Resize = True
ElseIf TypeOf MyCtl Is Label Then
Resize = True
ElseIf TypeOf MyCtl Is CommandButton Then
Resize = True
End If
If Resize Then
MyCtl.Top = MyCtl.Top * Ratio
MyCtl.Left = MyCtl.Left * Ratio
MyCtl.Width = MyCtl.Width * Ratio
MyCtl.Height = MyCtl.Height * Ratio
End If
Next
Form1.Height = Form1.Height * Ratio
Form1.Width = Form1.Width * Ratio
End Sub


この場合の 11520 は 1024 X 768 時のScreen.Height
の値です。

ですが、この方法ですとフォントサイズによっては
テキストボックスが重なったり横幅が足りなくなったり
とするので、最小サイズを基準とする方が見栄えがいいです。
    • good
    • 0

VS-Resizerという市販OCXがお勧めです。


コントロールのサイズ調整・位置調整を自動的にやってくれます。

参考URL:http://www.grapecity.com/japan/support/database/ …
    • good
    • 0

起動時のウィンドウを表示する前に、解像度を取得して、サイズ変更してあげればいいのではないでしょうか?



その際にOnSizeイベントで、中のエディットボックスなどのコンポーネントのサイズも一緒に変更するようにすれば、比較的きれいに見えると思います。

同時に、OnSizeイベントで、最小のウィンドウサイズなども決めることができるので、あるサイズ以上は画面が汚くなるとかそういった理由で制限をかけることも可能ですよ。ただし、コンポーネントが多いとOnSizeイベントを書くのが大変になりますが・・・

ではでは☆
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報