procedure Tmain.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if DataModule1.ADOQuery4.recno mod 2 =1 then
DBGrideh1.Canvas.Brush.Color:=clwhite
else
DBGrideh1.Canvas.Brush.Color:=color.Color;
if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
begin
DbGrideh1.Canvas.Brush.color :=$00C6FF8C;
dbgrideh1.Canvas.Font.Color:=clblack;
dbgrideh1.Canvas.Font.Size:=10;
dbgrideh1.Canvas.Font.Style:=[fsBold];
end; DBGrideh1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
这样可以让DBGrideh1单双行的颜色不同,并且选中行的字体变粗,但是当设定DBGrideh1的
FrozenCols=3;即固定DBGrideh1的前三列时,当选中DBGrideh1的任一行时,FrozenCol部位就
看不到数据,而只有DataCol部份才能看到数据。
如何让固定前几列后DBGrideh1在选中任一行时,全部一行还有单双行的颜色不同
,并且选中行的字体变粗的效果? 谢。
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if DataModule1.ADOQuery4.recno mod 2 =1 then
DBGrideh1.Canvas.Brush.Color:=clwhite
else
DBGrideh1.Canvas.Brush.Color:=color.Color;
if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
begin
DbGrideh1.Canvas.Brush.color :=$00C6FF8C;
dbgrideh1.Canvas.Font.Color:=clblack;
dbgrideh1.Canvas.Font.Size:=10;
dbgrideh1.Canvas.Font.Style:=[fsBold];
end; DBGrideh1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
这样可以让DBGrideh1单双行的颜色不同,并且选中行的字体变粗,但是当设定DBGrideh1的
FrozenCols=3;即固定DBGrideh1的前三列时,当选中DBGrideh1的任一行时,FrozenCol部位就
看不到数据,而只有DataCol部份才能看到数据。
如何让固定前几列后DBGrideh1在选中任一行时,全部一行还有单双行的颜色不同
,并且选中行的字体变粗的效果? 谢。
解决方案 »
- wise9.02卸载程序在2003下报错??
- 小问题,谁帮帮我??
- 求助,关于系统的录音通道选择,自己参照VC的类写的。好象有点问题,进来看看
- 关于多行打印的问题
- 100分,请问:《北京市交通运输业......转让无形资产专用发票》(税控装置打印卷式发票)上打印机打出来的字体是什么字体?
- 一个新建的程序员论坛,大家看提提意见
- 我从Delphi中调用COM组件,为何出现这个问题? 恳求帮助,在线等(100分)
- 哪位大虾英语不错的,帮我翻译成英文吧
- 怎样把一个运行了的WORD结束进程呢?急!!在线等候
- 调用其他窗口的datasource,dbedit取不到数据
- 如何发送消息问题?
- delphi中的保存问题
就OK了.