Q&A

  • MDI자식폼이 말을안들어여....
자식폼이 생성될때여

procedure TMainForm.SpeedButton1Click(Sender: TObject);

var

i : integer;

begin

For i :=0 to MDIChildCount -1 do

if MDIChildren[i] is TForm22 then Exit;

Application.CreateForm(TForm22, Form22);

Form22.show;

end;



이런식으로 해서여.... 자식폼(A)이 2번 못나오게 했는데여..... 연속해서 A-B-A폼순으로 띠우면 A-B까지는 잘 되는데여 다시 A폼생성버튼을 누르면 A폼이 활성화가 안되고

B폼 뒤에 숨어서 안나오거든여.... 어떻게 해야하나여...2번나오는거 잡느라고 아침부터

지금까지 고생해서 잡았는데 산넘어 산이라고 정말 죽겠습니다...

제발 답변주세여...



3  COMMENTS
  • Profile
    김종언 2001.02.09 19:57
    허허...

    왜이렇게 답답한 방법을 쓰시나요?

    간단한 방법이 있는데......

    내용만 간단히 말씀드리겠습니다.



    if form22 <> nil then

    begin

    Form22.BringToFront;

    end

    else

    begin

    form22 := Tform22.Create(self);

    form22.show;

    end;



    그리고 폼을 닫고 없애버릴때...



    form22 := nil;

    Action := caFree;



    ----------------------------------------------



    zerodog wrote:

    > 자식폼이 생성될때여

    > procedure TMainForm.SpeedButton1Click(Sender: TObject);

    > var

    > i : integer;

    > begin

    > For i :=0 to MDIChildCount -1 do

    > if MDIChildren[i] is TForm22 then Exit;

    > Application.CreateForm(TForm22, Form22);

    > Form22.show;

    > end;

    >

    > 이런식으로 해서여.... 자식폼(A)이 2번 못나오게 했는데여..... 연속해서 A-B-A폼순으로 띠우면 A-B까지는 잘 되는데여 다시 A폼생성버튼을 누르면 A폼이 활성화가 안되고

    > B폼 뒤에 숨어서 안나오거든여.... 어떻게 해야하나여...2번나오는거 잡느라고 아침부터

    > 지금까지 고생해서 잡았는데 산넘어 산이라고 정말 죽겠습니다...

    > 제발 답변주세여...

    >

  • Profile
    mashall3 2001.02.09 02:29
    아래는 제가 쓰고 있는 방법인데...

    함 해보세요..



    procedure Tfrmmain.N1Click(Sender: TObject);

    Var

    i : Byte;

    begin

    if MDIChildCount > 0 then

    begin

    for i := 0 to MDIChildCount - 1 do

    begin

    if MDIChildren[i] is TForm1 then

    begin

    MDIChildren[i].Show;

    Exit;

    end;

    end;

    end;

    Form1 := TForm1.Create(Self);

    Form1.show;

    end;



    zerodog wrote:

    > 자식폼이 생성될때여

    > procedure TMainForm.SpeedButton1Click(Sender: TObject);

    > var

    > i : integer;

    > begin

    > For i :=0 to MDIChildCount -1 do

    > if MDIChildren[i] is TForm22 then Exit;

    > Application.CreateForm(TForm22, Form22);

    > Form22.show;

    > end;

    >

    > 이런식으로 해서여.... 자식폼(A)이 2번 못나오게 했는데여..... 연속해서 A-B-A폼순으로 띠우면 A-B까지는 잘 되는데여 다시 A폼생성버튼을 누르면 A폼이 활성화가 안되고

    > B폼 뒤에 숨어서 안나오거든여.... 어떻게 해야하나여...2번나오는거 잡느라고 아침부터

    > 지금까지 고생해서 잡았는데 산넘어 산이라고 정말 죽겠습니다...

    > 제발 답변주세여...

    >

  • Profile
    zerodog 2001.02.09 02:35
    ^^