![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TQuery
Nach markieren im DBGrid keine Schrift sichtbar ?
hallo,
habe den code stehen im ereigniss :DBGrid1DrawColumnCell
Delphi-Quellcode:
jetzt habe ich ein problem wenn ich in der laufzeit eine zeile im DBGrid mit der Maus markiere sehe ich die
procedure TForm10.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if query1.FieldByName('Gültig bis Datum').Value <= Date() then dbgrid1.Canvas.Font.Color := $000000DF else dbgrid1.Canvas.Font.Color := clblack; // falls weder P1 noch P2, dann bleibt die Zeile wie Standard dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; schrift nicht mehr, es ist alles blau ??? was ist da schuld ? mfg vader |
Re: Nach markieren im DBGrid keine Schrift sichtbar ?
"Schuld" ist die Kombination aus VCL/Windows-API die im alltäglichen Programmiererleben so praktisch ist ;-) Würdest du in den Windowsfarbeinstellungen eine andere Farbe für markierte Elemente nehmen, sähe das Ganze anders aus.
Aber helfen wird wahrscheinlich das hier:
Delphi-Quellcode:
Ist jetzt aus der Erinnerung, müsste aber hinkommen, ansonsten schau dir den Typ TGridDrawState mal in der OH an.
procedure TForm10.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if not(gdSelected in State) then begin if query1.FieldByName('Gültig bis Datum').Value <= Date() then dbgrid1.Canvas.Font.Color := $000000DF else dbgrid1.Canvas.Font.Color := clblack; // falls weder P1 noch P2, dann bleibt die Zeile wie Standard dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; |
Re: Nach markieren im DBGrid keine Schrift sichtbar ?
hallo,
das ist etwas besser geworden, wenn ich die ganze zeile markiere ist immer nur bei einen tabellenfeld die schrift zum lesen wenn ich mit der maus darauf klicke ? mfg vader |
Re: Nach markieren im DBGrid keine Schrift sichtbar ?
Hmm, wie sehen denn deine TDBGrid.Options aus? Ich hab bei mir immer
Code:
Da habe ich so ein Phänomen nicht.
[dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit]
Alleredings nehme ich zum Färben auch einen etwas anderen Weg. Ich färbe nur die Zelle, in der der entsprechende Wert steht und setze nicht die Schriftfarbe, sondern färbe den Hintergrund der Zelle. |
Re: Nach markieren im DBGrid keine Schrift sichtbar ?
hallo,
jetzt funzt es, eine eigenschaft war falsch eingestellt !!! danke mfg vader |
Re: Nach markieren im DBGrid keine Schrift sichtbar ?
Keine Ursache.Und "falsch" ist ja auch relativ, kommt drauf an welche Features dem Benutzer zur Verfügung stehen sollen ;-) Ich persönlich schalte aber immer ReadOnly auf true und dgEditing unter Options auf false, da ich das DBGrid zum bearbeiten nicht gerade als besonders geeignet erachte, aber das ist dann wieder persönliche Präferenz.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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