Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Text in Listbox zentrieren

  Alt 6. Apr 2006, 19:31
Hi,

es sollte funktionieren, wenn Du die Einträge der Listboxen selbst zeichnest. Dazu setzt Du die Eigenschaft Style auf den Wert lbOwnerDrawFixed und schreibst eine Behandlungsroutine für das Ereignis OnDrawItem. Diese Routine könnte so aussehen:

Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem (Control: TWinControl; Index: Integer;
                                   Rect: TRect; State: TOwnerDrawState);
  var Breite, x : Integer;
begin
  // Pixelbreite des Eintrags bestimmen
  Breite := ListBox1.Canvas.TextWidth(ListBox1.Items[Index]);
  // x-Position des Eintrags bestimmen
  x := (Rect.Left + Rect.Right - Breite) div 2;
  // Eintrag darstellen
  ListBox1.Canvas.TextRect(Rect, x, Rect.Top, ListBox1.Items[Index]);
end;
Die Erklärung der Parameter findest Du in der Online-Hilfe.

Gruß Hawkeye
  Mit Zitat antworten Zitat