Q&A

  • Treeview 에서 더블클릭했을때 child 창을 띄울려면..???
오늘도 변함없이 안녕들 하세요?



메뉴의 버튼을 클릭하면 해당하는 child 창을 띄우는 것까진 성공했습니다.



for i:=0 to MDIChildCount - 1 do

MDIChildren[i].close;

Form6 := TForm6.create(Application);



이런식으로 했습니다.



그런데 Treeview에서 항목을 더블클릭했을때도 같은 창이 떠야 하는데 어떻게 하는지 궁금합니다.



오늘도 고수님들의 답변을 기다립니다.

언젠가는 답변할 실력이 되길 바라며...

1  COMMENTS
  • Profile
    최용일 2001.05.17 03:15
    안녕하세요. 최용일입니다.



    트리뷰의 OnDblClick이벤트에서 하시면 되겠군요. 전역마우스객체(Mouse)를 이용하면 마우스의 여러 정보를 이용하실 수 있습니다.



    procedure TForm1.TreeView1DblClick(Sender: TObject);

    var

    Node: TTreeNode;

    P: TPoint;

    begin

    P := TreeView1.ScreenToClient(Mouse.CursorPos);

    // 마우스객체는 전역좌표를 이용하므로 ScreenToClient메소드를 이용해서 트리뷰에서의 지역좌표로 변환해야 합니다.

    Node := TreeView1.GetNodeAt(P.X, P.Y);



    // 위에서 얻은 Node객체 정보를 이용해서 차일드폼을 띄우시면 되겠군요...

    if (Node <> nil) then

    ShowMessage(Node.Text);

    end;



    ^^ 항상 즐코하세요...



    새까만넘 wrote:

    > 오늘도 변함없이 안녕들 하세요?

    >

    > 메뉴의 버튼을 클릭하면 해당하는 child 창을 띄우는 것까진 성공했습니다.

    >

    > for i:=0 to MDIChildCount - 1 do

    > MDIChildren[i].close;

    > Form6 := TForm6.create(Application);

    >

    > 이런식으로 했습니다.

    >

    > 그런데 Treeview에서 항목을 더블클릭했을때도 같은 창이 떠야 하는데 어떻게 하는지 궁금합니다.

    >

    > 오늘도 고수님들의 답변을 기다립니다.

    > 언젠가는 답변할 실력이 되길 바라며...