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 DBCtrlGrid Selektiertes Panel nur teils färben ... Wie? (https://www.delphipraxis.net/28109-dbctrlgrid-selektiertes-panel-nur-teils-faerben-wie.html)

mschaefer 19. Aug 2004 18:35


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

Sharky 20. Aug 2004 07:34

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;

mschaefer 20. Aug 2004 08:16

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