我的程式的DBgrid在選中加粗文字記錄時有重影,請各位大俠幫看看,小弟在此謝謝先,代碼如下:
procedure Tf_shudian_zhipin_ziliaojia.DBGrid1DrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
dbgrid:TDBGrid;
begin
dbgrid:= (Sender as TDBGrid);
with dbgrid.DataSource.DataSet do
begin
if query1.fieldbyname('ziliaojiaceshu').asinteger=0 then
dbgrid.Canvas.Font.style:=[fsbold];//符合條件的記錄加粗顯示
if query1.fieldbyname('chuliriqi').asstring<>'' then
dbgrid.Canvas.Font.color:=clblue;
end;
if Column.Alignment=taRightJustify then
DBGrid.DefaultDrawColumnCell(Rect,DataCol,Column,State)
else if Column.Alignment=taCenter then
DBGrid.DefaultDrawColumnCell(Rect,DataCol,Column,State)
else
DBGrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
uj5u.com熱心網友回復:


在線等大神求救
uj5u.com熱心網友回復:
沒看到重影啊uj5u.com熱心網友回復:

有啊,你對那些沒有選中的記錄看看,選中的行從第二個字開始用重影了!
uj5u.com熱心網友回復:
在呼叫DefaultDrawColumnCell之前,先加一句:Rect.Offset(+1,0)uj5u.com熱心網友回復:
1、重新設定一下DBGrid字體,選擇“宋體”2、設定一下系統的視窗顯示模塊。
應該是字體在顯示時,二次顯示時,出現字體問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/76090.html
標籤:數據庫相關
上一篇:delphi匯入halcon庫
