|
김종일 님이 쓰신 글 :
: [질문] 컴퍼넌트 만들때.. Anchors 설정을 해주는데...
:
: <예제>
: pnlFullCode = new TPanel(pnlGroup);
: pnlFullCode->Parent = pnlGroup;
: pnlFullCode->Height = 39;
: pnlFullCode->Align = alTop;
: pnlFullCode->Anchors = TAnchors() << akBottom;
:
: lblFullName = new TLabel(pnlFullCode);
: lblFullName->Parent = pnlFullCode;
: lblFullName->Left = 5;
: lblFullName->Top = 6;
: lblFullName->Caption = "삼성전자";
: lblFullName->Anchors = TAnchors() << akRight;
:
: 즉, 컴퍼넌트를 디자인시 위치가 자동으로 정렬되도록 하려고 합니다.
: 헌데. 기존에 컴퍼넌트 디자인 시에 Form 위에 올려 놨을때와는 다르게 정렬이 되더군여.
: 왜 그런지여? 글구.. Anchors에 값을 할당 할 때.. 이렇게 쓰는게 맞는건지?
: 델파이하다가 C++빌더를 하니 문법상 모루는게 많군여..
: 도와주세염..."
임펠리테리입니다.
동적으로 패널과 레이블을 생성시켰군요. 그런데 디자인타임과는 다르게 정렬된다고 하셨는데, 지금 테스트해봐도 동일하게 동작하는데요?
만약 TAnchors() << akRight; 라고 한 코드로 인해서 디폴트 앵커 속성(akTop, akLeft)에 더해서 akRight가 추가되는 것이라고 오해하신 것은 아닌지요. 이 코드를 주게 되면 다른 앵커는 모두 날리고 오른쪽 앵커 값만 남게 되므로 당연히 이런 동작을 하게 됩니다.
디자인 타임에서 다른 앵커 값을 모두 날리고 akRight 만 주고 비교해보세요.
그럼 참고하시길...
|