|
컴포넌트가 평소에는 보이지 않다가 상황에 따라 나타났다가 사라져야 하는 경우
보통 저는 Visible이 false인 Panel을 두고 콤포넌트들을 전부 이 패널에 둡니다.
여러개의 컨테이너컴포넌트를 두고 이들의 Z-order를 바꾸면서 작업하는 경우
단순히 Visible만 조정해서는 화면에 나타나지 않고 BringToFront를 해 줘야 하기 때문에
그냥 한 번에 처리할 수 있도록 Parent를 Parent 를 바꾸면서 처리하고 있습니다.
콤보박스를 하나 두고..스트링그리드의 어떤 부분을 클릭하면
ComboBox1->Parent = StringGrid1;
이라고 해두고..ComboBox1의 OnChange 이벤트에
Label1->Caption = ComboBox1->Text;
라고 했는데 이 코드가 전혀 동작하지 않습니다.
그래서 새로 Panel을 하나 얹어서
ComboBox1->Parent = Panel1;
이라고 하니 이벤트가 제대로 동작하네요.
일단은 Visible과 Z-order를 조정해서 해결은 했는데 원인이 궁금합니다.
StringGrid를 Parent로 잡으면 왜 이벤트가 안먹을까요?
|