![]() |
DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?
Moin, moin,
ich habe eine DBCtrlGrid. In der Ereignisbehandlungsroutine OnPaintPanel bekommen die Panels eine Farbe in Abhängikeit von einem Datenbanfeld (Auftrag offen/ erledigt/in Rechnung gestellt). Das Panel was gerade Selektiert ist ist aber komplettt mit der Selektionsfarbe abgedeckt. Das ist etwas leidig, da man ja auch bei diesem schnell sehen möchte, in welchem Status sich der Datensatz darutner befindet. Ist es möglich nur sagen wir jeweils einen Teil des Panels mit der Selektionsfarbe zu füllen, oder eine Umrandung zu zeichnen ? Grüße // Martin |
Re: DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?
Hai Martin,
ich habe mal schnell ein Beispiel getippt welches in jedem Panel am oberen Rand eine farbige Linie zeichnet. Das ganze kannst Du ja so anpassen wie Du es gerne haben möchtest.
Delphi-Quellcode:
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
Index: Integer); var wert : Integer; farbe : TColor; begin // Anhand des Wertes in dem Feld "Tag" wird entschieden welche Farbe verwendet wird. wert := DBCtrlGrid.DataSource.DataSet.FieldByName ('tag').AsInteger; Case wert of 1 : farbe := clred; 2 : farbe := clblue; 3 : farbe := clgreen; end; with DBCtrlGrid1.Canvas do // Zeichenfläche des Panels begin Pen.Color := farbe; // Stiftfarbe setzen Pen.Width := 5; // Stiftstärke setzen MoveTo(0, 0); // Stift nach oben links auf dem Panels LineTo(PanelWidth,0); // Linie bis oben rechts end; end; |
Re: DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?
Ein ausgeschlafenes Moin, moin,
Ja, kurz und präzise! Da hat der Hai das Problem glatt in einem Happen genommen. Danke :!: // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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