青
青云
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个简单的问题。相信不少朋友都会。
那就是在dbGrid里,我让奇数行为一种颜色,让偶数行再显示另一种颜色,
这个技巧我以前看过,现在忘了。
下面是我找到的相关代码:
那位朋友有兴趣的帮我调试一下。
-------------------
procedure TClientForm.MemberGridDrawColumnCell( Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var oldcolor:tcolor;
oldpm:tpenmode;
begin
if DM.ProjectTEAM_LEADER.Value = DM.Emp_ProjEMP_NO.Value then
{设定变色的行的条件}
MemberGrid.Canvas.Font.Style := [fsBold];
MemberGrid.DefaultDrawColumnCell
(Rect, DataCol, Column, State); {上面是演示程序的原内容,以下是增加部分}
if DM.ProjectTEAM_LEADER.Value
= DM.Emp_ProjEMP_NO.Value then {设定变色的行的条件}
begin
oldpm:= MemberGrid.Canvas.pen.mode;
oldcolor:= MemberGrid.Canvas.Brush.color;
MemberGrid.Canvas.Brush.color:=clyellow;
MemberGrid.Canvas.pen.mode:=pmmask;
MemberGrid.DefaultDrawColumnCell (Rect,
DataCol, Column, State);
MemberGrid.Canvas.Brush.color:=oldcolor;
MemberGrid.Canvas.pen.mode:=oldpm;
end;
end;