오늘도 변함없이 안녕들 하세요?
메뉴의 버튼을 클릭하면 해당하는 child 창을 띄우는 것까진 성공했습니다.
for i:=0 to MDIChildCount - 1 do
MDIChildren[i].close;
Form6 := TForm6.create(Application);
이런식으로 했습니다.
그런데 Treeview에서 항목을 더블클릭했을때도 같은 창이 떠야 하는데 어떻게 하는지 궁금합니다.
오늘도 고수님들의 답변을 기다립니다.
언젠가는 답변할 실력이 되길 바라며...
트리뷰의 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에서 항목을 더블클릭했을때도 같은 창이 떠야 하는데 어떻게 하는지 궁금합니다.
>
> 오늘도 고수님들의 답변을 기다립니다.
> 언젠가는 답변할 실력이 되길 바라며...