注意:
dbgrid中可编辑,也就是:dgrowselect为false,现在问题是如何在选中记录时,当前记录行的颜色发生改变,是行而不是单元格。请问如何实现?
dbgrid中可编辑,也就是:dgrowselect为false,现在问题是如何在选中记录时,当前记录行的颜色发生改变,是行而不是单元格。请问如何实现?
解决方案 »
- 高分求教crc校验问题,恐怕非高手不能答!!!!!!!!!!!!!!!!!!!
- express如何设置卸载功能!
- TcxGrid 控键的问题,高手请进,谢谢!
- 求助!不知道为什么?急~~~~~~~~~~~
- form1在桌面最上层显示,在线急等。
- 用递归的算法解决约瑟夫问题,请进来聊聊.............看者也有分
- 怎样计算字符的多少(包括中英文字符)?
- 请问:怎样在Delphi中开辟大的多维数组?
- 如何修改注册表中的一项的名称(注意,是name,不是value)??
- TChromium控件中哪个属性是关闭GPU硬件加速的
- CSDN BUG 最新发现,原来这样可以看到裸体MM
- try .. 为什么不能 blockread 起作用?
http://dev.csdn.net/article/53/53439.shtm DBGrid应用全书(一)
http://dev.csdn.net/article/53/53440.shtm DBGrid使用全书(二)
http://dev.csdn.net/article/53/53441.shtm DBGrid使用全书(三)
http://dev.csdn.net/article/53/53442.shtm DBGrid使用全书(四)
http://dev.csdn.net/article/53/53443.shtm DBGrid使用全书(五)
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TMyDBGrid(Sender) do
begin
if DataLink.ActiveRecord=Row-1 then
begin
Canvas.Font.Color:=clWhite;
Canvas.Brush.Color:=$00800040;
end
else
begin
Canvas.Brush.Color:=Color;
Canvas.Font.Color:=Font.Color;
end;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;end;
type
TMyDBGrid=class(TDBGrid);
的方法可以实现
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdSelected in State then
begin
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk ;
(Sender as TDBGrid).Canvas.Font.Color := clred;
DBGrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;end;
http://blog.csdn.net/whbo/articles/232420.aspx
const Rect: TRect; DataCol: Integer; Column: TColumn;State: TGridDrawState);
var i :integer;
begin
if gdSelected in State then Exit;
//定义表头的字体和背景颜色:
for i :=0 to (Sender as TDBGrid).Columns.Count-1 do
begin
(Sender as TDBGrid).Columns[i].Title.Font.Name :='宋体'; //字体
(Sender as TDBGrid).Columns[i].Title.Font.Size :=9; //字体大小
(Sender as TDBGrid).Columns[i].Title.Font.Color :=$000000ff; //字体颜色(红色)
(Sender as TDBGrid).Columns[i].Title.Color :=$0000ff00; //背景色(绿色)
end;
//隔行改变网格背景色:
if Query1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//定义网格线的颜色:
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do //画 cell 的边框
begin
Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
MoveTo(Rect.Left, Rect.Bottom); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
Pen.Color := $0000ff00; //定义画笔颜色(绿色)
MoveTo(Rect.Right, Rect.Top); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画绿色的竖线
end;
end;