보통 앵커와 레이아웃 콤포넌트를 사용하여 해상도에 따른 자동 배치를 많이 하는 걸로 검색되는데
대부분의 프로그램은 느슨하게 배치하여 가능하지만, 자동제어프로그램 처럼 버튼과 박스가 꽉차는 형태는 원형을 유지하기가
쉽지 않더군요. 그래서 배치가 완전 비례하고 폰트까지 같이 비례하는 Scale이라는 프로퍼티를 사용해보시길 권합니다.
첨에 모든 콤포넌트를 일일이 비례적으로 배치하고 스케일링도 해야되나 걱정했는데 바탕이되는 판넬이나 탭콘트롤 위에 올려진 콤포넌트들은 바탕만 바꾸면 모든 스케일이 같이 바뀌더군요.
참고로, 화면의 사이즈를 아는 방법은
float cWidth,cHeight,wRatio,hRatio;
TSize *ScreenSize;
cWidth=Screen->Width;
cHeight=Screen->WorkAreaHeight;
wRatio=cWidth/dWidth;
hRatio=cHeight/dHeight;
//where cHight/cWidth=current Height/Width , dHeight/dWidth=designed Height/Width
위와 같고 안테나표시를 제외한 워크에리어의 사이즈를 구하는 것은 Height 대신 WorkAreaHeight입니다.
리사이즈할 바탕 콤포넌트의 Position->X/Y 및 Scale->X/Y에 wRatio/hRatio만 곱하면 됩니다.
바탕을 하나의 판넬로 채웠을 경우 비율을 구하고 폼생성시 네 줄의 위치 및 스케일 조정으로 끝납니다.
디자인 해상도는 요즘 추세를 봐서는 FHD가 적당합니다. 줄이거나 늘이는 비가 작기 때문에....
|