タイトル : Re^6: フォームを常に正四角形にしたい。 投稿日 : 2008/01/07(Mon) 09:44 投稿者 : よねKEN
花ちゃんがNo.11068で提示されているコードをカスタマイズして以下のような実装もできますね。 どんな風にリサイズしたいかという仕様次第ですが。 No.11068のコードとの違いは、 No.11068のコードは正方形に補正するときの基準を幅とする幅優先の仕様であるのに対して、 こちらのコードはユーザ操作によるリサイズでより大きく変更された方の長さ(幅or高さ)を使用して正方形に補正します。 ※机上で書いたコードで動作は未検証です。 Option Explicit Private frmWidth As Integer Private frmHeight As Integer Private Sub Form_Resize() If Me.WindowState = vbMaximized Then Me.WindowState = vbNormal End If If Me.WindowState = vbNormal Then If Abs(Me.Width - frmWidth) > Abs(Me.Height - frmHeight) Then Me.Height = Me.Width Else Me.Width = Me.Height End If End If frmWidth = Me.Width frmHeight = Me.Height End Sub |