Q&A

  • TreeView 에서 오른쪽 버튼 선택이...
OS : windows2000

Tool : delphi 5.0

TreeView 에 프로퍼티에 보면 RightClickSelect를 true 로 주면 선택은 됩니다.

그런대 Onchange Events 에서 선택한 노드에 TEXT 를 보여주면 바뀌진 안습니다.

다른 이벤트 들도 줘 봤습니다. 그런대 선택표시가 두가지 있지 안습니다.

하나는 역상이구 나머지 하나는 그역상에 실선인대 실선이 따라 움직이지가 안아서

그런거 같은대 고수님들 방법좀 갈켜 주세요



1  COMMENTS
  • Profile
    배인철 2000.12.20 02:22
    질문멘 wrote:

    > OS : windows2000

    > Tool : delphi 5.0

    > TreeView 에 프로퍼티에 보면 RightClickSelect를 true 로 주면 선택은 됩니다.

    > 그런대 Onchange Events 에서 선택한 노드에 TEXT 를 보여주면 바뀌진 안습니다.

    > 다른 이벤트 들도 줘 봤습니다. 그런대 선택표시가 두가지 있지 안습니다.

    > 하나는 역상이구 나머지 하나는 그역상에 실선인대 실선이 따라 움직이지가 안아서

    > 그런거 같은대 고수님들 방법좀 갈켜 주세요

    >



    질문내용이 혹시 오른쪽 버튼을 클릭할시 그 값을 알고 싶으신것인지요?

    TreeView에서 오른쪽 버튼을 클릭해도 선택한 값으로 Selected가 True가 되지는

    않습니다.

    저도 이것때문에 무지 고심했었는데 Help를 뒤져보니 방법이 나오더군요



    procedure TfmGOD01.trGodMouseDown(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    var

    HT : THitTests;

    MyNode: TTreeNode;

    begin

    Tree_Index := trGod.Selected.AbsoluteIndex;

    try

    if (Sender is TTreeView) AND (Button = mbRight) then

    begin

    with Sender as TTreeView do

    begin

    HT := GetHitTestInfoAt(X,Y);

    if (htOnItem in HT) then

    MyNode := (Sender as TTreeView).GetNodeAt(X,Y);

    if MyNode.Level = 2 then

    ShowMessage(MyNode.Text);

    end;

    end;

    except

    exit;

    end;





    end;