ホームページ > 記事 > コンピューターのチュートリアル > VB 制御サイズ適応機能の種類が要件を満たしていません!
モジュールを追加する
明示的なオプション
Dim FormOldWidth As Long 'フォームの古い幅の値
Dim FormOldHeight As Long 'フォームの古い高さの値
Public Sub ResizeInit(フォーム名としてのフォーム)
Dim pCtl をコントロールとして使用する
'フォームの古い高さと幅を設定します
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
エラー時は次へ再開
FormName 内の各 pCtl について
'フォーム内のコントロールのタグ値を設定します(スペースの位置とサイズに応じて設定します)
'プログラムに必要な追加データを格納する式を返すか、設定します。
'他のプロパティとは異なり、Visual Basic は Tag プロパティの値を使用しません。
'この属性を使用してオブジェクトを識別します。
pCtl.Tag = pCtl.Left & " ” & pCtl.Top & " ” & pCtl.Width & " ” & pCtl.Height & " ”
次の pCtl
エラー時は0に移動
エンドサブ
パブリックサブサイズ変更フォーム(フォーム名としてのフォーム)
Dim Pos(4) を Double として表示
Dim i と同じ長さ、tmpPos と同じ長さ、staPos と同じ長さ
Dim pCtl をコントロールとして使用する
Dim ScaleX を Double、ScaleY を Double
'フォームの幅と高さの倍率を保存します
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
エラー時は次へ再開
'フォーム内のコントロールを変更します
FormName 内の各 pCtl について
スタポ = 1
i = 0 ~ 4 の場合 '位置とサイズ
'コントロールの元の位置とサイズを取得します
tmpPos = InStr(staPos, pCtl.Tag, " ", vbTextCompare)
If tmpPos > 0 then
Pos(i) = Mid(pCtl.Tag, staPos, tmpPos - staPos)
staPos = tmpPos 1
###それ以外###位置(i) = 0
終了の場合
'コントロールとフォームの元の位置に基づいてサイズを変更します
'コントロールの比例的な位置変更とサイズ変更
pCtl.Move Pos(0) * ScaleX、Pos(1) * ScaleY、Pos(2) * ScaleX、Pos(3) * ScaleY
次のi
次の pCtl
エラー時は0に移動
エンドサブ
フォームにコードを追加する
プライベートサブフォーム_Load()
ResizeInit(Me)を呼び出す
エンドサブ
'フォームのサイズが変更された場合、フォームの比率に応じてサイズを変更します
'フォーム内の各コントロールの位置を変更し、サイズを変更します。
プライベートサブフォーム_Resize()
ResizeForm(私)を呼び出す
エンドサブ
次に、フォームにいくつかのコントロールを配置し、フォームのサイズを変更してみます
VB テキストボックス コントロールはフォームの変更に応じて自動的に調整されます
Dim oldheight&、oldwidth&
プライベートサブフォーム_Load()
oldheight = Me.Height: oldwidth = Me.Width
エンドサブ
プライベートサブフォーム_Resize()
Dim cnt をコントロールとして使用
コントロール内の各 cnt について
cnt.Width = cnt.Width * Me.Width / oldwidth
cnt.Height = cnt.Height * Me.Height / oldheight
###次###oldheight = Me.Height: oldwidth = Me.Width
エンドサブ
以上がVB 制御サイズ適応機能の種類が要件を満たしていません!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。