![]() |
In Combobox Linien einfügen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eine TNTCombobox und stelle darin chinesische Wörter dar.
Um es übersichtlicher zu gestalten, möchte ich zwischen den einzelnen Zeilen jeweils eine Linie einfügen. Habe in den Eigenschaften gesucht, aber nichts gefunden... Wie mache ich das? |
Re: In Combobox Linien einfügen
Habe in einem anderen Forum dies gefunden, geht aber nicht;
Delphi-Quellcode:
Style der Kombobox habe ich so geändert:
procedure TMainForm.TntComboBox7DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with tntcombobox7, tntcombobox7.Canvas do begin FillRect(rect); if Items[index]='_line' then begin if odSelected in State then Pen.Color := clWindow else Pen.Color := clBlack; PenPos := Point(Rect.Left, Rect.Top+(ItemHeight div 2)); LineTo(Rect.Right, Rect.Top+(ItemHeight div 2)); end else TextOut(rect.Left+2,rect.Top,Items[index]); end; end; procedure TMainForm.TntComboBox7Click(Sender: TObject); begin if tntcombobox7.ItemIndex=0 then output; if tntcombobox7.ItemIndex=1 then showinfopessoas; if tntcombobox7.ItemIndex=2 then showproddata; if tntcombobox7.ItemIndex=3 then showprodlinha; end; csOwnerDrawVariable |
Re: In Combobox Linien einfügen
Tolle Fehlerbeschreibung :thumb: .
Hast du denn den Eventhandler überhaupt der Listbox zugewiesen? |
Re: In Combobox Linien einfügen
Es gibt keine grossartige Fehlerbeschreibung, die Kombobox zeigt einfach keine Linien zwischen den Zeilen.
Was meinst du mit Listbox? Wie ordnet man das zu? |
Re: In Combobox Linien einfügen
Zitat:
Zitat:
Zitat:
|
Re: In Combobox Linien einfügen
Danke zunächst mal Khabarakh!
Genau das habe ich ja gemacht, weiter oben gepostet, schreibe hier nochmal:
Delphi-Quellcode:
Es ist zwar eine TnTCombobox, aber das sollte egal sein, habe bei ondrawitem eine Methode eingetragen, die ich gefunden hatte, es zeichnet aber nicht die Linien zwischen den Zeilen...
procedure TMainForm.TntComboBox7DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with tntcombobox7, tntcombobox7.Canvas do begin FillRect(rect); if Items[index]='_line' then begin if odSelected in State then Pen.Color := clWindow else Pen.Color := clBlack; PenPos := Point(Rect.Left, Rect.Top+(ItemHeight div 2)); LineTo(Rect.Right, Rect.Top+(ItemHeight div 2)); end else TextOut(rect.Left+2,rect.Top,Items[index]); end; end; |
Re: In Combobox Linien einfügen
Also wenn ich den Style der TntComboBox auf csOwnerDrawFixed setze, dann funktioniert deine Funktion bei mir einwandfrei.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 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