AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?

Ein Thema von mschaefer · begonnen am 19. Aug 2004 · letzter Beitrag vom 20. Aug 2004
Antwort Antwort
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#1

DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?

  Alt 19. Aug 2004, 18:35
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
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?

  Alt 20. Aug 2004, 07:34
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: DBCtrlGrid Selektiertes Panel nur teils färben ... Wie?

  Alt 20. Aug 2004, 08:16
Ein ausgeschlafenes Moin, moin,

Ja, kurz und präzise!
Da hat der Hai das Problem glatt in einem Happen genommen.

Danke // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz