如何设DBGRID滚动条的颜色?有高手在吗?加分!!(50分)

P

pckite

Unregistered / Unconfirmed
GUEST, unregistred user!
如何设DBGRID滚动条的颜色?有高手在吗?加分!!有什么控件吗?谁有?
pckite@163.com 谢谢!
 
是滚动条还是DBGridColumnCell?
 
昨天也有人提这问题,滚动条有办法吗?
在系统中改变应该可以,但对所有的都起作用。
 
procedure Tinfo.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if query1.FieldByName(’all’).asstring>40’ then
begin
dbgrid1.Canvas.Font.Color:=clred;
dbgrid1.Canvas.Brush.color:=clyellow;
end
else
begin
dbgrid1.Canvas.Font.Color:=clblue;
dbgrid1.Canvas.Brush.color:=clyellow;
end;

dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;

动态改变
 
procedure TfrmDemo.dbgMainDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if dbgMain.DataSource.DataSet['FieldName'] = '...' then
dbgMain.Canvas.font.Color := clRed ;
dbgMain.DefaultDrawColumnCell(rect,datacol,column,state);
end;

 
defaultdrawing 要设为false
 
是“滚动条”的颜色不是DBGRID的“背景色”啊!!!!!!上面的代码不能改变滚动条的颜色。
 
恐怕不公有答案,一般控件的滚动条是不能改变的。
如果能做恐怕也不简单。
要么自己做,要么改变系统设置。
 
什么?是窗体旁的滚动条的颜色?不会是真的吧!连专门的滚动条控件:ScrollBar都没有
它的color属性!我建议你,自己做一个类似ScrollBar的控件,再放到DBGrid上去,希望
能实现!呵呵,听起来好象也能实现哦!不过太没实用性了!
 
TO:lio_cheng,
你会做这样的控件?如何做?你有源码?
 
当然没有啦,谁会只为了要修改一下滚动条的颜色而费那么大的劲去做这样一个东东!
不过如果你有特殊需要的话就没办法啦!自己用delphi的一些现有的控件做吧!
不过我倒很想知道你为什么要去该滚动条的颜色?
 
lio_cheng的想法是可以实现的,人已做过,^_^
ScrollBar+dbgrid+ScrollBarBox
 
TO:hcm0790

你做过这个控件?可否给我研究研究?


TO:lio_cheng,

这样是为什么了好看一点呀,美观一点。
 
自己做,2000多行代码
 
TO:dongxuzhao,
你有这个控件?可否给我学习学习呢?
pckite@163.com
 
IE的滚动条是怎么通过HTML改变颜色的呢?
 
顶部