Q&A

  • Treeview에서 오른쪽 마우스버튼 이용하기
Treeview의 MouseDown에서
아래와 같이 코딩을 했는데, 바탕에 클릭을 도 해당 아이템으로 선택이 되더라구요.
바탕을 클릭하면 아무반응이 없게 하려면 어떻게 하면 되는지 답변 부탁드립니다.


procedure TfmMain.TreeView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   TVHitTestInfo : TTVHitTestInfo;
   TreeItem : hTreeItem;
begin
   TVHitTestInfo.pt := Point(X, Y);
   with TreeView1 do
   begin
      TreeItem := TreeView_HitTest(Handle, TVHitTestInfo);
      if TreeItem <> nil then
         TreeView_Select(Handle, TreeItem, TVGN_CARET);
   end;
end;
1  COMMENTS
  • Profile
    최용일 2002.02.15 23:05
    안녕하세요. 최용일입니다.

    아래와 같이 코딩해보세요...

    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
        Item: TTreeNode;
    begin
        if htOnItem in TreeView1.GetHitTestInfoAt(X, Y) then
        begin
        Item := TreeView1.GetNodeAt(X, Y);
        if Item <> nil then
            아이템을 클릭했을때 작업들...
        end;
    end;

    참고로 굳이 TreeView_XXXX함수들을 쓸 필요는 없을거 같네요... 트리뷰에 다 들어가 있으니까요...

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