用dbgrid,呵呵,将每一栏按状态设成不同的颜色就行了。if querylook.FieldByName('应收金额').AsInteger<>querylook.FieldByName('实收金额').AsInteger then begin DBGrid1.Canvas.Font.Color := clred;//字体颜色 Dbgrid1.Canvas.Brush.Color:=clwhite;//加上了对底色的修改 end else begin DBGrid1.Canvas.Font.Color := clblue; dbgrid1.Canvas.Brush.Color:=clmoneygreen; end; DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state); //你可以加多几种颜色,用case of
在一个pannel上有很多的的状态显示(形如edit的显示效果)
不需要有任何操作大哥有什么好想法?
edit1.color:=clgreen 即可
你的想法也是我的想法,
问题是在一个类型中,所有的dbedit的filed都是房间状态的字段,只是值得不同,
怎么可以显示不同的值?
我想还是要做判断的
begin
DBGrid1.Canvas.Font.Color := clred;//字体颜色
Dbgrid1.Canvas.Brush.Color:=clwhite;//加上了对底色的修改
end else
begin
DBGrid1.Canvas.Font.Color := clblue;
dbgrid1.Canvas.Brush.Color:=clmoneygreen;
end;
DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
//你可以加多几种颜色,用case of
可以自己做一个这样的dbedit继承下来的控件,添加2个属性:ControlColorField,ControlColor,设置这个字段属性后,就让dbedit的颜色跟着设置的字段变化了,呵呵~~