cxgrid 这两 个控件 能否 实现 鼠标 经过 每一条数据行 时 改变 整行 的 底颜色 ????? cxgrid 这两 个控件 能否 实现 鼠标 经过 每一条数据行 时 改变 整行 的 底颜色 ?????鼠标移走后变回原来的底颜色如何实现?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 easy 有时间给你 下次给分也不要太小气 procedure TForm1.cxGrid1DBTableView1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);在这个事件中beginvar ATextToDraw, val,chk1,chk2: String; // ARec: TRect; procedure SetTextToDraw; begin ATextToDraw := AViewInfo.GridRecord.DisplayTexts[AViewInfo.Item.Index]; end;begin inherited; SetTextToDraw; val := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1pur_no.Index], varString);// chk2 := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1uqty.Index], varString); chk1 := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1DBColumn5.Index], varString); if val = '' then//判断某一列的值是否为空 ACanvas.Canvas.Brush.Color := clInfoBk else if chk1<>chk2 then ACanvas.Canvas.Brush.Color := clmoneygreen; if AViewInfo.Selected then ACanvas.Canvas.font.Color := clRed; ACanvas.DrawText(ATextToDraw, AViewInfo.Bounds, 0);end;前面满足条件的获得后颜色不一样自己再改一下就可以了 reizedelphi 你又再这里乱说根本不行 给你一个思路:要用WM_HMOUSEMOVE或WM_MOUSELEVE 消息,再从这个消息中提取Mouse Piont, 再得到该点的cxGridRowInfo, 再Draw. 那么复杂的grid ,不如不用! 请教下TLB的基本概念问题 怎么取得当前月份? query.append执行前的郁闷 VclSkin安装问题!各位老大急救!!! 事务可否单独写成独立的函数?不知道这样写是否稳妥。 几百个客户端服务器端如何架构? 如何让.net平台支持delphi语言开发的脚本 csdn上拉客,坚绝要闭了这个帐号。 yonsoft005 Delphi5的控件(包含.pas文件)在Delphi6中可以使用吗? 关于TWebbrowser或CEF3控件打不开网页的问题 如何实现允许A、B用户同时修改同一纪录,以提交晚的保存 高手请进!如何提供AdoQuery遍历记录集的效率?
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);在这个事件中
begin
var ATextToDraw, val,chk1,chk2: String;
// ARec: TRect;
procedure SetTextToDraw;
begin
ATextToDraw := AViewInfo.GridRecord.DisplayTexts[AViewInfo.Item.Index];
end;
begin
inherited; SetTextToDraw; val := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1pur_no.Index], varString);//
chk2 := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1uqty.Index], varString);
chk1 := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGrid1DBTableView1DBColumn5.Index], varString); if val = '' then//判断某一列的值是否为空
ACanvas.Canvas.Brush.Color := clInfoBk
else
if chk1<>chk2 then
ACanvas.Canvas.Brush.Color := clmoneygreen; if AViewInfo.Selected then
ACanvas.Canvas.font.Color := clRed; ACanvas.DrawText(ATextToDraw, AViewInfo.Bounds, 0);end;
前面满足条件的获得后颜色不一样
自己再改一下就可以了
再从这个消息中提取Mouse Piont, 再得到该点的cxGrid
RowInfo, 再Draw.