希望有隔行變色,然后紅色字,但現在只能選其一
另外字體如何加粗?
DBGrid2DrawColumnCell 里面
procedure TForm2.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if dbgrid2.DataSource.DataSet.RecNo mod 2=0 then
dbgrid2.canvas.Brush.color:=$FFFFF0
else
dbgrid2.Canvas.Font.Color := clRed; //------加了這行,下行沒反應該
dbgrid2.canvas.Brush.color:=$FFFFFF;
dbgrid2.DefaultDrawColumnCell(rect,datacol,column,state);
end;
uj5u.com熱心網友回復:
用 第三方的GRID吧,TMS的GRID, cxGrid, EhGriduj5u.com熱心網友回復:
dbgrid2.DefaultDrawColumnCell會用以前的引數繪制,跟dbgrid2.canvas.Brush.color:=$FFFFFF沖突了,看那DefaultDrawColumnCell名字就知道了。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
是不是這樣?
procedure TForm2.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if dbgrid2.DataSource.DataSet.RecNo mod 2=0 then
dbgrid2.canvas.Brush.color:=$FFFFF0
else
dbgrid2.canvas.Brush.color:=$FFFFFF;
dbgrid2.Canvas.Font.Color := clRed; //------加了這行,下行沒反應該
dbgrid2.DefaultDrawColumnCell(rect,datacol,column,state);
end;
uj5u.com熱心網友回復:
謝謝你,近了,現在是全部紅色字,我希望一行黑色,一行紅色字
紅色可以加粗體更好!

uj5u.com熱心網友回復:
procedure TForm2.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if dbgrid2.DataSource.DataSet.RecNo mod 2=0 then
begin
dbgrid2.canvas.Brush.color:=$FFFFF0;
dbgrid2.Canvas.Font.Color := clBlack;
end else
begin
dbgrid2.canvas.Brush.color:=$FFFFFF;
dbgrid2.Canvas.Font.Color := clRed;
dbgrid2.Canvas.Font.Style:= dbgrid2.Canvas.Font.Style + [fsbold]; //加粗,這是xe10上的寫法
end;
dbgrid2.DefaultDrawColumnCell(rect,datacol,column,state);
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25974.html
標籤:語言基礎/算法/系統設計
上一篇:mysql
