|
MDI환경에서 Child윈도가 열리면 각 윈도를 루프로 돌면서 자신이 원하는 Child윈도가 있는지를 알 수 있습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i = MDIChildCount-1; I >= 0; i--)
MDIChildren[i]->Caption...;
}
뭐.. 이런 식이죠. 문제는 각 Child윈도가 객체기 때문에 A Child윈도에서 C Child윈도의 객체를
핸들링 하는데 쉽지 않다는 겁니다.
방법은 클래스 강제 형변환을 통해서 가능한 것으로 알고 있습니다.
그러니까 상위클래스로 지정된 Child윈도를 형변환한 다음에 원하는 조작하면 되는 것으로 압니다.
FindVCLWindow란 함수는 사용해 보지 않아서 모르겠군요.
일반 SDI같은 경우에는 FindWindow로 알고 있거든요.
정용익 님이 쓰신 글 :
: 일반적인 MDI 에서는 여러개의 WINDOW를 OPEN할수 있는데..
: 만약에 A , B , C 라는 WINDOW가OPEN 되어져 있는 상태에서
: C WINDOW 에서 어떤 이벤트를 실행할때 A라는 WINDOW가 현재
: OPEN 되어져 있는지 아닌지 알수 있는 방법이 있을까요?
: HELP를 찾아 보니까. FindVCLWindow란 함수를 나와 있는거 같은데.
: 잘 이해를 못 하겠더라구요.
: 혹시 알고 계신분 있으시면 답변 부탁드립니다.
:
|