![]() |
dbGrid, drawColumnCell und dgRowSelect
Hallo zusammen,
ich habe in einem dbGrid in den Optionen dgRowSelect aktiviert. Im dbGridDrawColumnCell richte ich die Celle mit
Delphi-Quellcode:
rechtsbündig aus.
if Column.FieldName = 'Betrag' then
begin Text:= dbGrid1.Fields[DataCol].AsString; outRect:= Rect; dbGrid1.Canvas.FillRect(Rect); drawText(dbGrid1.Canvas.Handle,Pchar(Text),length(Text),outRect,DT_Right); end; In der selektierten Zeile wird allerdings der ursprüngliche und der ausgerichtete Text gleichzeitig angezeigt. Anscheinend wird beim RowSelect der Feldinhalt nach dem drawText() nochmal geschrieben?! Wie kann ich das verhindern? |
AW: dbGrid, drawColumnCell und dgRowSelect
Ändere mal das Property DefaultDrawing auf False und ergänze deinen Eventhandler um einen else-Zweig in dem du DefaultDrawColumnCell aufrufst.
|
AW: dbGrid, drawColumnCell und dgRowSelect
Ok, habe im Objektinspektor DefaultDrawing auf false gesetzt.
Im Eventhandler
Delphi-Quellcode:
den else Zweig hinzugefügt. Ohne Erfolg.
if Column.FieldName = 'Betrag' then
begin Text:= dbGrid1.Fields[DataCol].AsString; outRect:= Rect; dbGrid1.Canvas.FillRect(Rect); drawText(dbGrid1.Canvas.Handle,Pchar(Text),length(Text),outRect,DT_Right); end else dbGrid1.DefaultDrawColumnCell(outRect,DataCol,Column,State); Habe ich da etwas falsch verstanden oder ausgeführt? |
AW: dbGrid, drawColumnCell und dgRowSelect
Beim Aufruf von DefaultDrawColumnCell musst du Rect verwenden anstatt outRect.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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