Q&A

  • 트리뷰에서 마우스 오른쪽버튼을 클릭했을경우 문제점입니다.
트리뷰에서 마우스 오른쪽 버튼을 클릭했을경우 클릭한 아이템이

Select 될수 있도록 포커스를 옮기고 싶어서 다음과 같이 구현했는데

오른쪽 마우스 클릭을 하면 전혀 이벤트를 타지 않는것 같더라구요...

물론 TreeView의 RightClickSelect Properity는 True로 설정했습니다.

procedure Tform1.TreeViewMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
    NodeItem: TTreeNode;CursorPos: TPoint;
begin
    if Button = mbRight then  begin
        CursorPos := TreeView.ScreenToClient(Point(X,Y));
        NodeItem  := TreeView.GetNodeAt(CursorPos.X, CursorPos.Y);
        if NodeItem <> nil then NodeItem.Selected := True;
        ShowMessage(NodeItem.Text);
    end;
end;

ㅠ.ㅠ 고수님들의 조언을 부탁드립니다...♡♡♡
2  COMMENTS
  • Profile
    구창민 2003.02.26 04:24
    안녕하세요~ 구창민입니다.

    참고하시고 즐거운 프로그래밍 하시길~~


    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    var
    Node: TTreeNode;
    begin
    if Button = mbRight then
    begin
       Node := nil;
       Node := TreeView1.GetNodeAt(X, Y);
       if assigned(Node) then
         begin
           TreeView1.SetFocus;
           TreeView1.Selected := Node;
           TreeView1.Selected.Focused := True;
         end;
    end;
    end;




  • Profile
    이지영 2003.02.26 20:15
    냉무