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
アドバイスお願いします。
以上、よろしくお願いします。
> FormMain.ScaleWidth = 100
1280にしてみてはいかが?
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
無事解決しました。
ありがとうございました。
| ツイート |
|