모듈 추가
명시적인 옵션
Dim FormOldWidth As Long '양식의 이전 너비 값
Dim FormOldHeight As Long '폼의 이전 높이 값
Public Sub ResizeInit(양식 이름을 양식으로)
Dim pCtl As Control
'폼의 기존 높이와 너비 설정
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
오류 발생 시 다음 재개
FormName의 각 pCtl에 대해
'컨트롤의 태그 값을 폼에 설정(공간의 위치와 크기에 따라 설정)
'프로그램에 필요한 추가 데이터를 저장하는 표현식을 반환하거나 설정합니다.
'다른 속성과 달리 Visual Basic은 Tag 속성의 값을 사용하지 않습니다.
'이 속성을 사용하여 개체를 식별합니다.pCtl.Tag = pCtl.Left & "" & pCtl.Top & "" & pCtl.Width & " " & pCtl.Height & ""
다음 pCtl
오류 발생 시 GoTo 0
끝 서브
Public Sub ResizeForm(양식 이름을 양식으로)
Dim Pos(4) As Double
길게, tmpPos를 길게, staPos를 길게
Dim pCtl As Control
Dim ScaleX를 두 배로, ScaleY를 두 배로
'폼의 너비와 높이 배율을 저장하세요
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
오류 발생 시 다음 재개
'양식의 컨트롤 변경
FormName의 각 pCtl에 대해
staPos = 1
For i = 0 To 4 '위치 및 크기
'컨트롤의 원래 위치와 크기를 가져옵니다
tmpPos = InStr(staPos, pCtl.Tag, "", vbTextCompare)
tmpPos > 0이면
Pos(i) = 중간(pCtl.Tag, staPos, tmpPos - staPos)
staPos = tmpPos + 1
그밖에
Pos(i) = 0
끝나면
'컨트롤의 원래 위치와 형태에 따라 크기를 변경합니다
'비례적으로 컨트롤 위치 및 크기 조정
pCtl.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
다음엔 나
다음 pCtl
오류 발생 시 GoTo 0
끝 서브
양식에 코드 추가
비공개 하위 양식_Load()
ResizeInit(나)에게 전화
끝 서브
'형태의 크기가 변경되면 형태의 비율에 따라 크기를 변경하세요
'양식에서 각 컨트롤의 위치를 변경하고 크기를 변경합니다.
비공개 하위 양식_Resize()
ResizeForm(나)에게 전화
끝 서브
그런 다음 양식에 몇 가지 컨트롤을 추가하고 양식의 크기를 변경해 보세요
VB 텍스트 상자 컨트롤은 양식 변경에 따라 자동으로 조정됩니다
어두운 오래된 높이&, 오래된 너비&
비공개 하위 양식_Load()
oldheight = Me.Height: oldwidth = Me.Width
끝 서브
비공개 하위 양식_Resize()
Dim cnt As Control
컨트롤의 각 cnt에 대해
cnt.Width = cnt.Width * Me.Width / oldwidth
cnt.Height = cnt.Height * Me.Height / oldheight
다음
oldheight = Me.Height: oldwidth = Me.Width
끝 서브
위 내용은 VB 제어 크기 적응 기능의 유형이 요구 사항을 충족하지 않습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!