흠 새 프로젝트를 시작하게 됐는데 이번엔 MDI 구조로 작성하게 됐네요.
델파이에서 MDI구조는 처음 접해보는지라 많이 헷갈리네요.
다른게 아니라 child를 생성한 이후에 다시 특정 CHILD에 해당하는 함수를 호출할려면 어떻게 해야 하나요?
정리하자면
1. child에 특정 함수 A가 존재
2. MDI 구조에서 child1, child2 생성
3. 생성이후 child1.A 만 실행
하고 싶으면 어떻게 해야 할까요?
델파이 도움말을 보니 MDIChildren[I] 과 MDIChildCount 를 이용해서 child 윈도우들을 전부다 닫아버리는 예제가 있던데 MDIChildren[I] 로는 제가 생성한 함수에 접근할 수 없더군요.
쉬운 방법이 있을듯 한데 좀 도와주시면 감사하겠습니다.^^;
procedure TForm1.Button2Click(Sender: TObject);
var
idx: Integer;
begin
for idx:=0 to MDIChildCount-1 do
begin
if MDIChildren[idx].InheritsFrom(TForm2) then //child폼의 class명이 TForm2인경우
begin
TForm2(MDIChildren[idx]).A;
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
idx: Integer;
begin
for idx:=0 to MDIChildCount-1 do
begin
if MDIChildren[idx].Name='Form2' then //Child폼의 이름이 'Form2'인경우
TForm2(MDIChildren[idx]).A;
end;
end;
<!--CodeE-->