AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TTreeView Selektierung in Abhängigkeit von Objekt
Thema durchsuchen
Ansicht
Themen-Optionen

TTreeView Selektierung in Abhängigkeit von Objekt

Ein Thema von haentschman · begonnen am 7. Jun 2012 · letzter Beitrag vom 10. Jun 2012
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 7. Jun 2012, 17:44
Hallo alle...

Ich habe ein TTreeView mit Multiselect. Jetzt möchte ich, daß in Abhängigkeit des Objektes in Data des Nodes der Knoten selektiert werden kann oder nicht.

Welche Denkanstöße habt ihr für mich ?

Danke...
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 7. Jun 2012, 18:30
Eine TreeView, drei Nodes ('A', 'B', 'C')... Alles außer B darf selektiert werden
Delphi-Quellcode:
procedure TForm3.TreeViewMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Var
  N : TTreeNode;

  begin
  N := TreeView.GetNodeAt(X,Y);
  if assigned (N) then
      N.Selected := (N.Text <> 'B');
end;
Edit: TreeView.Multiselect := True;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 7. Jun 2012, 22:40
Und dann kommt wer daher und benutzt doch tatsächlich die Tastatur, um das zu selektieren
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Jun 2012 um 22:46 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 8. Jun 2012, 07:39
Label.Caption:='Verwenden Sie nicht die Tastatur!'; Problem gelöst

Ich hab grad probiert, mit der Tastatur ein Multiselect zu machen, klappt eh nicht so richtig. Oder ich bin noch zu müde.

Geändert von Furtbichler ( 8. Jun 2012 um 07:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 8. Jun 2012, 09:07
Moin...

Danke erst mal für Eure Infos. Nach vielem Probieren habe ich mich entschieden die Selektierung zuzulassen und beim Drag zu entscheiden welche Objekte Übernommen werden. Es ging dabei um übergeordnete Knoten die nicht selektiert werden sollten.

Da gleich nach dem Einlesen des Tree´s der erste Knoten selektiert wird, und ich das nicht verhindern konnte, war die Entscheidung leicht
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#6

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 8. Jun 2012, 12:59
TTreeView bietet den Event OnChanging, übergeben wird der Node, der selektiert werden soll sowie ein var AllowChange, mit dem man die Selektion verhindern kann. Solltest du dich entschliessen, TTreeView abzuleiten, dh eine eigene Komponente zu erstellen, kannst du auch die virtuelle Methode CanChange entsprechend überschreiben.
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#7

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 8. Jun 2012, 13:29
Das kann ja wohl nicht die Norm sein...

Ich habe sämtliche Events versucht... nur OnChanging nicht

AllowChange:= TeAV_Work(Node.Data).Choice > 0; macht es dann genau wie gewünscht.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#8

AW: TTreeView Selektierung in Abhängigkeit von Objekt

  Alt 10. Jun 2012, 04:04
Ich hab grad probiert, mit der Tastatur ein Multiselect zu machen, klappt eh nicht so richtig.
Strg+Pfeiltaste zum Wechseln/Rumlaufen
Leertaste zum Selektieren
Strg+Leertaste zum (De)Selektieren
Shift+Pfeiltaste für Bereichsauswahl
Strg+Shift+Pfeiltaste für additive Bereichsauswahl
Shift+Leertaste aktualisiert die Bereichsauswahl
Strg+Shift+Leertaste aktualisiert und verbindet die Bereichsauswahl
und ich glaub es gab noch mehr


Ist bei nahezu allen Trees/Listen so, vorallem die welche unverändert auf die WinControls gehn, also z.B. auch im Windows Explorer.
In neueren Explorern ab mindestens Win7 kann man sich aber auch Checkboxen im Explorer anzeigen lassen, bzw. natürlich auch in den ListViews.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz