Delphi-PRAXiS

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 TListView: abgeschnittene Caption & Selektierung (https://www.delphipraxis.net/104510-tlistview-abgeschnittene-caption-selektierung.html)

Moony 5. Dez 2007 14:18


TListView: abgeschnittene Caption & Selektierung
 
Hallo zusammen,

ich verwende zur Zeit in meinem Programm die TListView. Es funktioniert soweit ganz gut, bis auf zwei Probleme:

1. Abgeschnittene Caption
Bei Programmstart fülle ich meine Lisview mit Einträgen und setze pro Eintrag nach unterschiedlichen Kriterien die Icons. Wenn ich ein Refresh auf diese Liste mache und eine Routine aufrufe, dann werden die Einträge abgeschnitten dargestellt, obwohl die gleiche Routine sowohl bei Programmstart, als auch beim Refresh aufgerufen wird. Die Listeneinträge haben immer die gleiche Zeichenlänge beim Font "Courier", also kann hier die visuelle Länge nicht variieren.

2. Selektierung eines Items
Ich selektiere während der Laufzeit per Quellcode einen Eintrag, weil dieser z.B. hinzugekommen ist, mit folgendem Code:

Delphi-Quellcode:
TARefreshExecute(Sender);
LstCards.SetFocus;
LstCards.ItemIndex := LstCards.Items.IndexOf(LstCards.FindCaption(0, 'Text', False, True, True));
LstCardsClick(Sender);
Das verläuft auch richtig. Jedoch wenn ich jetzt mit den Pfeiltasten durchsteppen will, dann springt die Markierung zum ersten Eintrag und geht von da an dann wieder normal weiter. Demnach ist der Eintrag den ich selektiert habe zwar visuell angewählt, aber praktisch nicht.

Hoffe ihr könnt mir helfen. Danke im Voraus.

Gruß, Moony

marabu 5. Dez 2007 14:35

Re: TListView: abgeschnittene Caption & Selektierung
 
Hallo,

mache das besser so:

Delphi-Quellcode:
begin
  // ...
  with LstCards do
  begin
    Selected := FindCaption(0, SearchText, False, True, True);
    if Assigned(Selected) then
      Selected.Focused := True;
  // ...
  end;
end;
Grüße vom marabu

Moony 5. Dez 2007 14:46

Re: TListView: abgeschnittene Caption & Selektierung
 
Super, das mit dem Selektieren funktioniert schon mal wunderbar. Danke.

Bleibt nur noch die Frage mit der abgeschnittenen Caption.

marabu 5. Dez 2007 17:44

Re: TListView: abgeschnittene Caption & Selektierung
 
Kannst du ein kleines Demoprojekt bereit stellen, an dem man den Effekt beobachten und eventuell beheben kann?

Moony 6. Dez 2007 15:35

Re: TListView: abgeschnittene Caption & Selektierung
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habe es ganz kurz gemacht. Hier muß ich aber dazu sagen, dass ich es zuerst mit dem ButtonClick versucht habe und die Captions NICHT gekürzt wurden. Habe anschließend bei mir im Programm noch mal nachgeschaut, was der Unterschied ist und es war nicht der ButtonClick den ich in meinem Programm ausführe, sondern eine Action über den Manager.
Geschaut getan, in das Demoprogrämmchen auch ein gebaut und nun werden die Captions sowohl mit Action als auch mit ButtonClick gekürzt.

Gruß, Moony

Gehstock 6. Dez 2007 15:54

Re: TListView: abgeschnittene Caption & Selektierung
 
Mach LstCards.viewStyle = vsSmallIcon;

Moony 7. Dez 2007 07:17

Re: TListView: abgeschnittene Caption & Selektierung
 
Das funktioniert, aber ich verstehe nicht ganz den Unterschied. Sind es lediglich die zusätzlichen Spalten, die bei der vsList gesestzt werden können?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz