|
C++빌더6에서는 불가능합니다.
Align 자체가 같은 레벨에서는 무조건 아래/위가 왼쪽/오른쪽보다 우선하게 되어있습니다.
그런데 님께서 원하시는 디자인을 보니, 아래쪽인 스테이터스바가 최우선, 왼쪽인 패널이 2순위, 다시 아래쪽인 탭셋이
3순위이군요. 6 버전에서는 이렇게 순위를 바꿔가면서 Align을 줄 수 있는 방법이 없습니다.
하지만 C++빌더2006에서는 가능합니다.
패널과 탭셋의 Align을 alCustom으로 설정하고 Parent 컨트롤(이 경우에는 폼)의 OnAlignPosition 이벤트나
AlignInsertBefore 이벤트를 이용하면 됩니다.
그럼...
main1114 님이 쓰신 글 :
: 제가 MDI 환경에서 프로그램을 만들려구 하는데요~ ( 개발툴은 bcb 6.0 )
:
: 엑셀처럼.. 좌측에는 Workspace가 있구 우측에는 worksheet를 넣어서 sheet 하나당 MDI Child 폼을
:
: 열려구 하거덩요..
:
: 근데, 문제는 align 문제가 있어서 이렇게 질문을 올립니다..
:
: 메인폼에 Pannel과 Tabset을 올려놓고,
: Pannel의 Align을 Left로 하고,,, TabSet을 bottom으로 했더니, Tabset이 bottom 영역을 다 차지 하더군요..
: 첨부 파일의 위쪽 그림처럼....
:
: 근데, 저는 첨부 파일의 아래쪽 그림처럼 하고 싶거덩요~
:
: 일단, 또다른 panel을 올려놓고, align을 client로 하고 이 panel에 Tabset를 넣어 bottom으로 하면 형태는
: 나오지만, MDI Child 창이 보이지 않더군요,...
: 그래서 MDI Child창의 Parent를 위의 panel로 하면 창으로 보이지만 active창의 표시( 폼의 Title부분)이 active
: 형태로 나타나지 않으며, 가장 큰 문제는 child창을 메인폼의 밖으로 나갔을 때, 스크롤 처리와 MDI 기본 기능인 Horizontal, vertical 정렬을 되지 않습니다..
:
:
: 혹시, 이런 거 경험 해보신분 노하우좀 갈쳐 주세용...
|