2008-09-27 16 views
6

화면 크기를 조정할 때 필요에 따라 개별 항목을 늘리거나 줄이는 대화 상자 리사이저 클래스를 찾고 있습니다. 스테판 케일 (Stephan Keil)은 기본적으로 모든 것을 크기 비율에 따라 크기를 조정하는 좋은 (DlgResizeHelper) 것을 가지고 있지만 더 똑똑한 것을 찾고 있습니다. 예를 들어Windows C++ 대화 상자 리사이저 클래스

:

  • 아이콘

  • 한 줄 텍스트 상자의 크기를 조정하지 말아야 수직

  • 버튼은 아마 같은 크기

을 유지해야 뻗어되어서는 안된다

기본적으로 나는 무엇인가를 찾고있다. o 모든 컨트롤을 살펴보고 정적 텍스트 필드가 그 다음/아래의 컨트롤과 관련되어 있고 두 개의 컨트롤을 함께 앵커링하고 '스마트'방식으로 큰 컨트롤의 크기를 조정하여 모양이 좋아 보이는지 확인합니다.

프레임 워크가 있습니까? 나는 하나에 대해 노력해 왔지만 기성품이 아마도 더 나을 것입니다.

다음 내용을 확인하십시오. 제안 된 해결책을 찾고 있습니다. 대다수의 사용자는 대화 상자의 각 컨트롤을 앵커로 이동해야합니다. 저는 앵커가 무엇이되어야하는지 알아낼 스마트 한 것을 찾고 있습니다. 추측이 잘못 될 경우 수동으로 앵커 할 수있는 능력이 있습니다. 가능해야하는 것처럼 보입니다. 대부분의 사람들은 편집 필드 옆에 정적 텍스트 필드가 함께 고정되어야한다는 데 동의합니다. 거의 AI를 찾고있는 것 같아요 :)

답변

1

wxWidgets를 사용할 수 있습니다. 완전히 MFC를 대체하고 멀티 플랫폼이며 레이아웃 기반 대화 메커니즘을 제공합니다.

0

궁극적 인 Toolbox MFC 라이브러리 (here, CodeProject)는 layout manager을 포함합니다. 나는 그것을 직접 사용하지 않았지만 그것이 당신이 원하는대로하는 것처럼 보입니다.

0

이 CodeProject의
http://www.codeproject.com/KB/dialog/dlgresizearticle.aspx
에서도 무료 솔루션은 그 위치 컨트롤 대화 상자가 크기를 조절 같은 간단한 매크로 단지 설정되어 있습니다.

편집 - OP 댓글에 따라 수정하십시오. MFC에 대한 QT/WX와 같은 일반적인 sizer 지원에 대해서는 잘 모르지만 Winforms와 같은 새로운 프레임 워크에서는 나타나지 않습니다.
위젯이 다른 크기 일 수있는 다중 플랫폼에 필요하기 때문에 QT/WX에 있습니다. MS가 부족하다는 것을 설명합니다. 그러나 다국어 포트에도 필수적입니다. 취소를위한 독일어는 30 자입니다.

0

Professional GUI에서 우리는 클래스 라이브러리를 사용하여 대화 상자 컨트롤의 크기를 조정할 수 있습니다. 나는 그것이 그들의 무료 버전의 일부라고 생각한다.

2

codeproject 인 IIRC에서 ResizableLib (PropertySheets 및 Pages도 사용)을 사용합니다. 대화 상자가 움직일 때 대화 상자와 컨트롤의 크기를 조정하거나 이동하는 방법을 결정하는 고정 점을 설정합니다.

컨트롤 당 최대 2 개의 앵커를 설정할 수 있으므로 (왼쪽, 오른쪽) 대화 상자가 이동할 때 앵커를 움직이거나 움직일 때 크기를 조정할 수 있습니다. 매우 이해하기 쉽고, 완벽하게 이해하기 어려울 경우

0

우리는 CodeGuru의 CResize 클래스를 사용하여 모든 컨트롤의 크기를 자동으로 조정합니다. 각 컨트롤의 크기를 조정하는 방법을 알려주고 작업을 수행합니다.

크기 조정 패러다임은 대화 상자의 크기를 조정할 때 컨트롤의 각면이 이동하는 정도를 지정합니다.

SetResize(IDC_EDIT1, 0, 0, 0.5, 1); 
SetResize(IDC_EDIT2, 0.5, 0, 1, 1); 

많은 수의 대화 상자 컨트롤이있는 경우 매우 편리합니다.

Source code

2

나는 많은 시도하고 마지막으로 http://www.codeproject.com/KB/dialog/layoutmgr.aspx에 정착했습니다. 그것은 당신이 제안하는 '지능형'레이아웃을하지 않습니다. 어떤 플랫폼에서든 어떤 라이브러리에서든 본적이 없습니다. 어쨌든 시간의 절반을 무시해야하는 후드 매직을 많이 사용하지 않으면 어떻게 작동하는지 보지 못합니다.