フォームのサイズ変更

解決


たろう  2007-05-24 19:28:28  No: 98800

VB6を使用しています。

Formが呼び出されたとき(下記の文においてはForm_Load時)
に、formのサイズをピクセル単位で変更したいのですが
上手く行きません。

画面の左上(0,0)から1280×1024ピクセルで表示したいのです。

Private Sub Form_Load()

    FormMain.ScaleMode = vbPixels

    FormMain.Top = 0
    FormMain.Left = 0
    FormMain.ScaleWidth = 100
    FormMain.ScaleHeight = 1024


End Sub

アドバイスお願いします。

以上、よろしくお願いします。


これでは?  2007-05-24 19:43:35  No: 98801

>    FormMain.ScaleWidth = 100

1280にしてみてはいかが?


GOD  2007-05-24 20:35:00  No: 98802

Scale〜 の値は直に変更できませんよ。
外周を変更することによって内部の大きさも変わります。
内部値を元に外周値を変更するには、計算で求める必要があります。
#但し、モニタのサイズは超えられませんよ。

Private Sub Form_Load()
    Me.Top = 0
    Me.Left = 0
    Me.ScaleMode = vbPixels
    Call Resize(1280, 1024)
    'Call Resize(1024, 768)
    Debug.Print Me.ScaleWidth, Me.ScaleHeight
End Sub

Private Sub Resize(ByVal x As Long, ByVal y As Long)
    Dim marginX As Long
    Dim marginY As Long

    marginX = Me.Width - Me.ScaleWidth * Screen.TwipsPerPixelX
    marginY = Me.Height - Me.ScaleHeight * Screen.TwipsPerPixelY
    x = x * Screen.TwipsPerPixelX + marginX
    y = y * Screen.TwipsPerPixelY + marginY
    Me.Width = x
    Me.Height = y
End Sub


たろう  2007-05-25 08:23:30  No: 98803

無事解決しました。

ありがとうございました。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加