|
TPanel로부터 상속받은 component를 만들고 있습니다.
이 component는 WM_PAINT handler를 사용합니다.
모양을 약간 수정하기 위한것이지요.
이 handler의 끝부분에서 다음과 같은 일을 하고 있습니다.
for(int i=0; i<ControlCount; i++) Controls[i]->Repaint();
Panel 내의 control들을 다시 그려주기 위해서 넣은 것입니다.
그런데 이 line에 문제가 있었습니다.
Panel 내의 control 중 특정 control들은 특정 style에서
자신의 parent(즉, 이 panel)까지 다시 그리려고 하더군요.
예를 들면
Panel 내에 있는 Label의 Transparent property가 true이면
Panel까지 InvalidateRect해주는 code를 VCL source에서 확인할 수 있었습니다.
그래서 위의 code에 의해 handler가 다시 호출되고..
영원히 반복되었던 것입니다. (결국 꽥~)
어떻게 해야 하나요? 알려주세요~
|