트리뷰에서 마우스 오른쪽 버튼을 클릭했을경우 클릭한 아이템이
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;
ㅠ.ㅠ 고수님들의 조언을 부탁드립니다...♡♡♡
참고하시고 즐거운 프로그래밍 하시길~~
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;