|
이성운 님이 쓰신 글 :
: 질문은 이렇습니다. MDI에서 차일드 폼이 여러개 있는데.. 현재 어떤 차일드 폼이 화면에 불려져와 있다면 그 같은 폼을 못 뜨게 만들려고 합니다. 아시는 분은 꼭 좀 알려 주세요..
:
일단 잘 이해를 한건지 모르겠지만...
MDI폼은 기본적으로 두개의 배열을 제공 한답니다.
MDIChildCount와 MDIChildren이지요.
MDIChildCount은 현재 생성되어진 차일드 폼의 갯수를 인트형으로 저장하구 있구요
MDIChildren은 현재 샌성되어진 폼을 순서대로 등증록하구 있지요.
이 두배열과 if문을 이용하시면 님이 하시고 싶은것을 할수 있으리라 생각이 드는데요..
참고로 form2가 열려 있으면 return 생성이 되지 않은 경우에는 생성 시키는 프로그램을 짠다면
for(int i=0;i<MDIChildCount;i++)
{
if(dynamic_cast<TForm2 *>(MDIChildren[i]))
{
MDIChildren[i]->Show();
return;
}
}
Form2 = new TForm2(Application);
이런 형태면 되겠네요.
각 차일드 폼을 생성시키는 부분에서 위의 루틴처럼 하면 가능할것 같은데..
도움이 되셨으면 좋겠네요...
|