TreeView Select Problem

Rund um die LCL und andere Komponenten
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: TreeView Select Problem

Beitrag von pluto »

Hab den Fehler gefunden: Ich hatte im OnCreate MultiSelect
MFG
Michael Springwald

TBug
Beiträge: 179
Registriert: Mi 2. Sep 2015, 11:09
OS, Lazarus, FPC: Lazaurus 2.2.4 FPC 3.2.2
CPU-Target: Windows 32/64bit

Re: TreeView Select Problem

Beitrag von TBug »

pluto hat geschrieben:Hab den Fehler gefunden: Ich hatte im OnCreate MultiSelect
Ich dachte eigentlich Du hättest dies überprüft?
TBug hat geschrieben:
pluto hat geschrieben:An sowas habe ich auch schon gedacht. Werde ich mal ausprobieren.

Es ist aber irritierend, wenn sich das Select so verhält.
Property MultiSelect = true ???
pluto hat geschrieben:
Property MultiSelect = true ???
Nein, ist auf False. Komischerweise ist die Prüfung bei allen Items auf Select ja auch False bis auf den, der True ist.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: TreeView Select Problem

Beitrag von pluto »

Ich dachte eigentlich Du hättest dies überprüft?
Dachte ich auch, aber manchmal sieht man den Wald voller Bäume nicht. Was mich nur wundert ist, dass die Überprüfung von allen Items auf die Select Eigenschaft negativ war.

Das Problem ist, dass sich der OI bei diesem Projekt sehr eigenartig verhält. Z.B. wenn ich ein Event zuweisen möchte, lädt mir die IDE ein FPC Beispiel und meint ein Fehler gefunden zu haben, aber der FPC findet kein Fehler.
Dazu mache ich aber ein Extra Thread auf.

Jedenfalls war das der Grund, warum ich die Eigenschaft wohl Manuell gesetzt hatte, per Code.
Ich werde weitere Tests machen.
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: TreeView Select Problem

Beitrag von pluto »

Ich habe MultiSelected wieder aktiviert und demarkiere den Markierten Eintrag.

Code: Alles auswählen

 
procedure TForm1.TreeView1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  TV:TTreeView;
  TreeNode:TTreeNode;
begin
  TV:=(Sender as TTreeView);
  if not Assigned(TV.Selected) then
    TreeNode:=TV.Items.GetFirstNode
  else
    TreeNode:=TV.Selected;
 
  tv.Selected.Selected:=false;
  repeat
    if UpperCase(TreeNode.Text[1]) = char(Key) then begin
      if tv.Selected <> TreeNode then begin
        TreeNode.Selected:=true;
        //Select(TreeNode);
      // tv.Items.SelectOnlyThis(TreeNode);
        break;
      end
      else
        TreeNode:=TreeNode.GetNextSibling;
    end
    else
      TreeNode:=TreeNode.GetNextSibling;
  until not Assigned(TreeNode);
 
//  Zum Debuggen
  {
  repeat
    if Assigned(TreeNode) then begin
      if TreeNode.Selected then
        writeln(TreeNode.text);
      TreeNode:=TreeNode.GetNextSibling;
    end;
  until not Assigned(TreeNode);
  }
end;
 
MFG
Michael Springwald

wp_xyz
Beiträge: 5153
Registriert: Fr 8. Apr 2011, 09:01

Re: TreeView Select Problem

Beitrag von wp_xyz »

pluto hat geschrieben:Das Problem ist, dass sich der OI bei diesem Projekt sehr eigenartig verhält. Z.B. wenn ich ein Event zuweisen möchte, lädt mir die IDE ein FPC Beispiel und meint ein Fehler gefunden zu haben, aber der FPC findet kein Fehler.
Das hatte ich auch eine Zeitlang, jetzt nicht mehr (trunk). Ich meine, darüber in der Mailinglist gelesen zu haben, dass das jetzt behoben ist - bin aber nicht 100% sicher.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: TreeView Select Problem

Beitrag von pluto »

OK, dann werde ich mal mein Lazarus Updaten, ich nutzte sowieso eine SVN Version.

Jedenfalls Danke für eure Hilfe. So ein Fehler ist ja schon "Peinlich"....
MFG
Michael Springwald

Antworten