Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi SelectAll (https://www.delphipraxis.net/1768-selectall.html)

schitho 22. Dez 2002 15:15


SelectAll
 
Hi,

ich kämpfe mich geade durch die ListView durch. Funktioniert auch schon recht gut.

Nun wollte ich folgende Funktion einbauen:

Sobald man auf eine Schaltfläche klickt, sollen alle ListView-Einträge markiert werden.

Die sollte mit der Prozedure SelectAll funktionieren.

Wenn ich SelectAll aufrufe, passiert aber scheinbar gar nix. Es werden scheinbar keine Einträge markiert. Wenn ich in den Listview-Bereich mit der Maus hineinklicke, sieht man ganz kurz, dass alle Einträge markiert waren.

Offensicht werden durch SelectAll zwar alle Einträge markiert, aber nicht angeszeigt. Auch ein Refresh bringt keine Änderung.

Was muss ich machen, damit alle Markierungen auch sichtbar werden???

Gruß
Thomas :roll:

jbg 22. Dez 2002 15:34

Hast du auch MultiSelect auf True gesetzt?

schitho 22. Dez 2002 18:31

Zitat:

Hast du auch MultiSelect auf True gesetzt?
Ja! :(

Thomas

jbg 22. Dez 2002 18:46

Das es nicht an MultiSelect liegt, hast du wahrscheinlich die Eigenschaft HideSelection auf False (Vorgabewert) stehen. Wenn du nun in das ListView klickst, wird die Markierung aller aufgehoben.

Chewie 22. Dez 2002 18:46

Wahrscheinlich zeigt das ListView die Selektion nur an, wenn es den Fokus hat. Da das aber nicht der Fall ist, wenn du eine andere Schaltfläche gedrückst hast, musst du nach dem Selektieren den Fokus auf das ListView setzen:
Delphi-Quellcode:
ListView.SetFocus;

schitho 22. Dez 2002 19:34

Zitat:

Zitat von Chewie
Delphi-Quellcode:
ListView.SetFocus;

Hilft leider nix :(

Zitat:

... HideSelection auf False ...
Hilft leider auch nix. :cry:

Habt Ihr noch eine andere Idee, woran es liegen könnte?? :?:

Gruß
Thomas

jbg 22. Dez 2002 19:52

Da habe ich mich verschrieben:
Zitat:

HideSelection auf False (Vorgabewert)
Muss heißen: "HideSelection auf True (Vorgabewert)"
Du musst also HideSelection auf False stellen.

schitho 22. Dez 2002 20:04

Zitat:

Zitat von jbg
Da habe ich mich verschrieben:
Zitat:

HideSelection auf False (Vorgabewert)
Muss heißen: "HideSelection auf True (Vorgabewert)"
Du musst also HideSelection auf False stellen.

Habe sowohl HideSelection auf True, als auch auf False ausprobiert. Die Selektion bleibt aber leider unsichtbar. :?

Gruß
Thomas :coder:

schitho 22. Dez 2002 21:21

Hab eine Möglichkeit gefunden, wie es funktioniert: :dancer:

Code:
procedure TFormShredExplor.BitBtnMarkAllClick(Sender: TObject);
var i : Integer;
begin
  for i := 0 to ListView.Items.Count - 1 do
  begin
    ListView.Items[i].Selected:=true;
  end;
end;
Jedenfalls: Danke für Eure Bemühungen und Tipps.

Gruß
Thomas :hello:

nailor 22. Dez 2002 21:29

Wenn man begin und end schreibt, ohne es zu brauchen, wird dann ein programm eigentlich langsamer (so bei 100.000.000 mal hinternander)???


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.
Seite 1 von 2  1 2      

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