|
임펠리테리입니다.
몇년전에 저도 그렇게 시도를 한 적이 있었는데.. 쿨바 컨트롤은 그렇게 말을 잘 듣는(?) 넘이 아니더군요.
하다 하다 결국 포기했었구요.
정말 필요하시다면.. 꽁수를 하나 알려드리지요.
쿨바의 각 밴드들의 프로퍼티들중 Break 프로퍼티는 현재 밴드가 새 열에서 시작되는가를 나타냅니다.
디자인타임에서는 이걸 모두 false로 설정하면 모든 밴드들이 한줄에 나타나도록 할 수 있습니다.
반면 런타임에는 사용자가 드래그하는 대로 이 값이 바뀌게 되죠.
여기서 꽁수.. 쿨바 각 밴드들의 Break 프로퍼티를 런타임에서 계속 false로 설정해주면 됩니다.
쿨바의 OnChange 이벤트가 쿨바의 밴드들 위치가 바뀔 때 발생하므로 여기다 해주면 딱이죠.
void __fastcall TForm1::CoolBar1Change(TObject *Sender)
{
for(int i=0; i<CoolBar1->Bands->Count; i++)
CoolBar1->Bands->Items[i]->Break = false;
}
하지만.. 꽁수라고 말씀드렸다시피, 그렇게 깔끔하지는 않습니다. 런타임에 사용자가 밴드를 아래쪽으로
드래그하면 끌려내려왔다가 마우스버튼을 놓으면 다시 올라붙습니다.
그럼 이만...
김형찬 님이 쓰신 글 :
: 밴드들을 욺직이는거 까지는 좋은데.. 이것이 AutoSize를 false로 해놓고 높이를 맞추어 놓았는데..
:
: 밴드를 아래로 드래그 하니까. 하나가 밑에 숨어 버리네요.
:
: 아래도 드래그 않돼고.. 같은 라인에서만 움직이게 하는 방법을 못찾겠네요..
:
: 방법좀 가르쳐 주세요... ^^
:
: 그럼 좋은 하루 돼세요.
|