Announcement

Collapse
No announcement yet.

TreeView und Selected Item - Action mit Click

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TreeView und Selected Item - Action mit Click

    Hallo,
    ich habe zur Navigation einen TreeView. Momentan kann ich mit einem Doppelklick eine Action auslösen:
    <CODE>
    procedure TFRMMain.TreeViewDblClick(Sender: TObject);
    var
    ANode : TTreeNode;
    begin
    ANode := TcxTreeView(Sender).Selected;
    if not Assigned(ANode) or not Assigned(ANode.Data) then Exit;
    if TObject(ANode.Data) is TAction then
    TAction(ANode.Data).Execute;
    end;
    </CODE>
    Jetzt würde ich das Ganze aber gern durch einen einfachen Klick auslösen.
    Dabei ist das Problem, dass ein Selected Node ausgewählt bleibt.
    Wenn ich z.B. nur einen Tree auf dem Plus öffne und ein Node vorher ausgewählt war, wird die Action des Eintrages ausgeführt.
    Kann ich in der Methode OnClick herausbekommen, ob ein Node oder nur ein Button angeklickt wurde?
    Danke, Frank

  • #2
    im onexpand oder oncollaps ( wird vor dem onclick )
    aufgerufen ClearSelection aufrufen
    Dann hast du kein selektiertes Item ( -1)

    procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
    var AllowExpansion: Boolean);
    begin
    TreeView1.ClearSelection(false);
    end;

    Gruß Andrea

    Comment


    • #3
      Hallo Andreas,
      erst mal Danke für die Antwort. Soweit funktioniert es auch.
      Nur, auch ein Klick in einen leeren Bereich löst das Ereignis aus.
      Deshalb wäre die Info, ob direkt auf einen Node geklickt wurde, hilfreich.
      Gruß, Fran

      Comment


      • #4
        ... es ist so einfach, onMouseUp und GetNodeAt(x, y)...
        Danke noch mal, Fran

        Comment


        • #5
          ja, thats live.

          Comment

          Working...
          X