有一DBGRIDEH,第一列是CHECKBOX,当加了以下代码
procedure Tjgsp_pici_shenhe.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if dbgrideh1.Columns[0].CheckboxState=cbchecked then
begin
dbgrideh1.Canvas.Brush.Color:=$008080FF;
end;
dbgrideh1.DefaultDrawDataCell(Rect,column.Field,State);
end;本意是想当选中前面的复选框时,该行变成红色,可是运行的时候,选定行变颜色倒是实现了,可是全部的复选框全部显示成FALSE了,而不是复选框了,怎么办啊?
procedure Tjgsp_pici_shenhe.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if dbgrideh1.Columns[0].CheckboxState=cbchecked then
begin
dbgrideh1.Canvas.Brush.Color:=$008080FF;
end;
dbgrideh1.DefaultDrawDataCell(Rect,column.Field,State);
end;本意是想当选中前面的复选框时,该行变成红色,可是运行的时候,选定行变颜色倒是实现了,可是全部的复选框全部显示成FALSE了,而不是复选框了,怎么办啊?
解决方案 »
- memo文字位置与颜色问题
- 我们知道,ehlib有 筛选功能,那么筛选后的条件语句是否能取到
- 如何在c和delphi之间传递二维数组?具体是C传给del写的dl一个string的字符串(指针),delphi格式化运算后返回二维数组给C的主程序?
- richedit的插入问题
- 关于重一个表批量添加到另一个表的问题,帮帮忙。
- 菜鸟问一个高难的sql语句,请看。
- 如何得到DBGridEh中某一列所对应的字段名
- 如何向远程计算机进行文件传输?
- 请教如何正确的把F1Book的内容保存为Excel的格式?
- Inno 生成的安装文件,英文 安装过程中取消安装,出现的Exit Setup对话框的按钮是中文的
- ntdll.dll报错,请各位大侠指点
- 请助 控件
begin
DBGrideh1.Canvas.Font.Color := RGB(0,0,0);
DBGrideh1.Canvas.Brush.Color := RGB(146,146,146); //?¨ò?±3?°??é?
DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;因改则样写,测试通过.给分
按你的写法,选中复选框后,颜色是变了,但复选框也显示成TRUE了
dbgrideh1.DefaultDrawDataCell(Rect,column.Field,State);
改成DefaultDrawcolumnCell搞定,
也谢谢
sxper(完八一头牛)