我想在cxgrid表格中设置我已经单击过的单元格属性,比如将所有单击过的单元格内的字体都变为红色.哪位大哥知道如何实现?
解决方案 »
- 用delphi编写的WEBbroker组件做的程序该如何发布的问题
- delphi巨难问题,谁要帮我解决我给谁,问了N久没人回的问题
- 构件
- 怎么给Delphi应用程序一个返回码,类似C的exit(-1)
- 自动生成编号的问题,在线等待!
- 得到一个RGN区域,请问,如何才能把这个区域放大或缩小呢???
- TCP可以实现两个不同局域网间传送大文件吗?
- 我的一个用于计算的BUTTON.ONCLICK事件里有1300条语句,每次点击它计算时,第一次计算的结果根本就不对,只有再次点击它一次,结果才计算
- form关闭的问题
- 如何使用stringreplace函数?
- 不规则抛物线面积如何计算
- 如何实现控制其它程序的窗体中的控件,如:TDBGridE的插入新增一行,并填充数据
解决:
var
FTrackItem: TcxCustomGridTableItem;
FTrackRec: TcxCustomGridRecord;
procedure TForm1.cxGrid1DBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo.GridRecord = FTrackRec) and (AViewInfo.Item = FTrackItem) then
begin
ACanvas.Font.Color := clred; //红色字体
ACanvas.Font.Style := [fsUnderline];//带下划线
end;
end;
procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
AHitTest: TcxCustomGridHitTest;
ATrackItem: TcxCustomGridTableItem;
ATrackRec: TcxCustomGridRecord;
begin
ATrackItem := FTrackItem;
ATrackRec := FTrackRec;
AHitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);
if AHitTest is TcxGridRecordCellHitTest then
begin
FTrackItem := TcxGridRecordCellHitTest(AHitTest).Item;
FTrackRec := TcxGridRecordCellHitTest(AHitTest).GridRecord;
end
else
begin
FTrackItem := nil;
FTrackRec := nil;
end;
if (ATrackItem <> FTrackItem) or (ATrackRec <> FTrackRec) then
begin
// Invalidate old cell
if ATrackRec <> nil then
ATrackRec.Invalidate(ATrackItem);
// Invalidate new cell
if FTrackRec <> nil then
FTrackRec.Invalidate(FTrackItem);
end;
end;