Guten Tag,
wie zentriere ich die Einträge in einer Listbox?
Gibt es auch eine einfache Möglichkeit, einzelne Einträge fett zu schreiben?
alles, was ich bis jetzt gefunden habe brachte nur endlos lange Errors mit sich....
Vielen Dank im Vorraus & Grüße
Trotro
Einträge in Listbox zentrieren
-
- Beiträge: 11
- Registriert: So 5. Mai 2013, 10:30
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Einträge in Listbox zentrieren
Du musst die Items selbst zeichen (OnDrawItem). Dazu gibt es eine große Menge Anleitungen im Netz.
-
- Beiträge: 11
- Registriert: So 5. Mai 2013, 10:30
Re: Einträge in Listbox zentrieren
Hallo & Danke für die schnelle Antwort 
So weit war ich auch schon. Ich habe aber keine Anleitung gefunden, welche funktioniert hat.
Das ist ja auch mein Problem
Ansonsten hätte ich kein Thema eröffnet....
Grüße
trotro

So weit war ich auch schon. Ich habe aber keine Anleitung gefunden, welche funktioniert hat.
Das ist ja auch mein Problem

Grüße
trotro
Re: Einträge in Listbox zentrieren
Google "Delphi Listbox Ownerdraw" liefert wirklich eine Menge (bei Suchen nach "Lazarus" sollte man auch mal über den Gartenzaun nach "Delphi" schauen), zwar nicht exakt deine Fragestellung, aber damit kommt man weiter.
Wie dem auch sei:
Wie dem auch sei:
- Style der Listbox auf lbOwnerDrawFixed setzen
- Eventhandler für OnDrawItem schreiben
Code: Alles auswählen
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
ARect: TRect; State: TOwnerDrawState);
var
w,h: Integer;
s: String;
begin
with Listbox1.Canvas do begin
s := Listbox1.Items[Index];
w := TextWidth(s);
h := TextHeight(s);
Brush.Style := bsSolid;
FillRect(ARect);
TextOut((ARect.Left + ARect.Right - w) div 2, (ARect.Top + ARect.Bottom - h) div 2, s);
end;
end;
-
- Beiträge: 11
- Registriert: So 5. Mai 2013, 10:30
Re: Einträge in Listbox zentrieren
Perfekt 
Vielen Dank für die schnelle Hilfe.
Ich google auch schon oft genug mit ''Delphi'' statt lazarus aber ich habe trotzdem nichts gefunden, was geklappt hat
Grüße
trotro

Vielen Dank für die schnelle Hilfe.
Ich google auch schon oft genug mit ''Delphi'' statt lazarus aber ich habe trotzdem nichts gefunden, was geklappt hat

Grüße
trotro
Re: Einträge in Listbox zentrieren
Kann man so machen. Aber statt TextOut würde ich TextRect empfehlen.
Mit TTextStyle kann man die Textausgabe noch komfortabler und vielfältiger definieren.
http://lazarus-ccr.sourceforge.net/docs ... trect.html
http://lazarus-ccr.sourceforge.net/docs ... style.html
Mit TTextStyle kann man die Textausgabe noch komfortabler und vielfältiger definieren.
http://lazarus-ccr.sourceforge.net/docs ... trect.html
http://lazarus-ccr.sourceforge.net/docs ... style.html