2012-04-03 4 views
3

VB6에서는 일부 텍스트 상자, 목록 상자 및 명령 단추가있는 양식을 만들었습니다. 나는 모든 컨트롤이 같은 장소에 머물 내 응용 프로그램의 최대화 버튼을 클릭최대화 버튼을 클릭 한 후 양식을 다시 그리는 방법은 무엇입니까?

그러나
control2.Top = form.Height * 0.50 'sets the Y-position 
control2.Left = form.Width * 0.35 'sets the X-position 

control3.Top = form.Height * 0.50 
control3.Left = form.Width * 0.45 

, 같은 것을 사용하여 이러한 모든 컨트롤의 XY 위치를 설정할 수 있지만 위쪽으로 조금 더 이동 폼의 왼쪽 모서리. 그 동안 최대화를 클릭하면 양식의 오른쪽 하단 모서리에 빈 공간이 많이 생깁니다.

최대화 단추 (오른쪽 위 모서리의 빈 사각형처럼 보이는)를 클릭하면 내 프로그램에 form.Height 및 form.Weight가 변경되었고 모든 것이 필요하다는 것을 알 수 있도록 어떻게 만들지? 다시 그려지 는가?

또는이 방법을 사용하면 모든 컨트롤을 왼쪽 위 모서리로 이동하지 않고 오른쪽 아래 모서리에 새 공간을 만들지 않아도됩니까? 귀하의 도움에 미리 감사드립니다.

+2

나는이 아니 당신의 주요 질문을 실현,하지만 당신은 크기 조정이 스타일은 눈살을 찌푸리게된다 form.ScaleHeight 및 form.ScaleWidth – MarkJ

+0

주를 사용해야합니다. 양식의 내용에 따라 정상적인 방법은 컨트롤 자체를 동일한 크기로 유지하는 것입니다 (사람들은 더 큰 버튼을 보지 않고 더 많은 것을 볼 수있는 대형 모니터를 구입합니다) 공간을 채우기 위해 중앙 컨트롤 (목록보기, 텍스트 상자 등)을 확장합니다 . – Deanna

+0

안녕하세요,이게 정확히 제가 말하려고하는 문제입니다, 다른 크기의 모니터. 사용하는 올바른 방법은 무엇입니까? – phan

답변

9

양식에 "크기 조정"이벤트가 있습니다. 이 이벤트는 양식 크기가 조정될 때마다 트리거됩니다.

Private Sub Form_Resize() 
    'Insert your code here 
End Sub 
+5

크기 조정 코드를 수행하기 전에 Me.WindowState를 확인하십시오. 특히 Me.WindowState = vbMinimized (대개 최소화 된 경우 건너 뜁니다). –

관련 문제