>  기사  >  컴퓨터 튜토리얼  >  VB 제어 크기 적응 기능의 유형이 요구 사항을 충족하지 않습니다!

VB 제어 크기 적응 기능의 유형이 요구 사항을 충족하지 않습니다!

WBOY
WBOY앞으로
2024-01-14 13:54:171281검색

VB 제어 크기 적응 기능의 유형이 요구 사항을 충족하지 않습니다!

VB 제어 적응형 크기 기능 유형 불일치!

모듈 추가

명시적인 옵션

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제