Q&A

  • Re: modal form 에 대해서....
너무 어렵게하지 마시고요..



일단 Mainform에서 Dialog form 호출은

procedure TForm1.Button2Click(Sender: TObject);

begin

Application.Createform(Tform2,form2) ;

form2.showmodal ;

end;

이렇게만 코딩하시고



Dialog form 호출에서 트리뷰에서 더블클릭하면(버튼의 클릭도 되겠죠)

main의 edit1.text에 트리뷰의 이름을 넣으려면



procedure TForm2.TreeView1DblClick(Sender: TObject);

begin

form1.Edit1.Text := TreeView1.Selected.Text ;

close ;

end;



간단하죠 ?



제가 질문내용을 잘 이해를 못해 다른답을 올렸다면 다시 리플 달아 주세요.



수고하세요...

















질문맨 wrote:

> main 폼에서 버튼을 클릭 했을 때 ,dialog 폼을 띄우려고 합니다. 그리고 dialog 폼 화면을 닫을 때, main 폼의 EditText 에 dialog 폼에 있는 전역변수 string을 Display 하려고 하는데 잘 안돼서요.. 아시면 좀 부탁드립니다.

>

>

> //main 폼에서 버튼을 클릭했을 때 (실은 main 화면의 child 폼)

> procedure TDoc_history.user_selectClick(Sender: TObject);

> var

> t_DialogFrm : Tuser_select_lov;

>

> begin

> t_DialogFrm := Tuser_select_lov.Create(Application);

> t_DialogFrm.ShowModal; //여기에서도 에러가 남

>

> // modal 로 하면 된다고 해서 이렇게 해 보았음..

> if (t_DialogFrm.ShowModal = mrOK) then

> begin

> Edit1.text := user_select_lov.select_name;

> user_select_lov.TreeView1.Selected.Text;

>

> end;

>

> end;

>

>

>

> //트리뷰에서 노드선택시 선택된 node text 를 main 화면에

> // EditText에 넘겨주려고 함

> // uses 에 main name을 script 해 놓았음.

> procedure Tuser_select_lov.BitBtn1Click(Sender: TObject);

> begin

>

> select_name := node_sel.text ; //select_name는 전역변수

> Doc_history.Edit1.Text := select_name;

> // 이건 main 화면에 텍스트에 직접 넣으려고 시도 했

> // 는데 이것두 잘 안돼요..

> modalresult := mrok;

> Close;

>

> end;

1  COMMENTS
  • Profile
    질문맨 2000.09.22 00:56
    아주 간단하군요....

    main 폼에서 아래와 같이 test하면 전혀 문제가 없군요...



    근데,

    현재 mdichild 폼에서 dialog 폼을 띄우려고 하거든요...

    혹시 main 이 아닌 mdichild 폼에서 dialog 폼을 아래와 코딩했을 때 문제가 되는지

    궁금하군요..



    Form2.Showmodal ; 여기서 "Cannot make a visible window modal" error가 나거든요...











    procedure TForm1.Button2Click(Sender: TObject);

    begin

    Application.Createform(Tform2,form2) ;

    form2.showmodal ;

    end;





    procedure TForm2.TreeView1DblClick(Sender: TObject);

    begin

    form1.Edit1.Text := TreeView1.Selected.Text ;

    close ;

    end;