Thema: Delphi Treeview onclick

Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Treeview onclick

  Alt 1. Dez 2005, 08:28
Hi,
ich habe es über MouseUp realisiert:
Delphi-Quellcode:
procedure TFRMMain.doNavTreeViewMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
  ANode: TTreeNode;
  R: TRect;
begin
  // Navigator mit Click
  // Doppelte Ausführung verhindern...
  // FTreeViewLocked is Private Field der Unit!
  if FTreeViewLocked then
    Exit;
  FTreeViewLocked := True;
  try
    with TTreeView(Sender) do
    begin
      ANode := GetNodeAt(x, y);
      if Assigned(ANode) and ANode.Selected and Assigned(ANode.Data) then
      begin
        R := ANode.DisplayRect(True);
        // den Klick links oder rechts neben den Text verhindern
        if (x >= R.Left - 16) and (x <= r.Right) then
          if TObject(ANode.Data) is TAction then
            TAction(ANode.Data).Execute;
      end;
    end;
  finally
    Application.ProcessMessages;
    FTreeViewLocked := False;
  end;
end;
Beim Erzeugen der Nodes habe ich mit ANode.Data := MeineAction eine Action aus einer ActionList zugewiesen.
Ansonsten lieber Doppelklick, da ist es einfacher...
Gruß, Frank
Frank Reim
  Mit Zitat antworten Zitat