1
我想为TStringGrid实现一个FillCell过程。我想用某种颜色填充某个单元格,但仅当单元格(行)没有被选中时填充。TStringGrid:是否有可能找出单元格的“状态”?
procedure TMyStrGrid.FillCell(Rect: TRect; aColor: TColor);
begin
//if NOT (gdSelected in State) then <---- how do I obtain the 'State' here?
begin
Canvas.Brush.Color:= aColor;
Canvas.FillRect(Rect);
end;
end;
这只是一个练习:)我想弄清楚VCL.Grids.pas是相当复杂的。
你什么时候调用'FillCell'?针对哪个事件? 'OnDrawCell'提供绘制状态。 –
OnDraw。我知道你会建议:通过国家作为参数。但是我想知道是否有可能在没有通过参数的情况下找到状态。 – Ampere
你为什么要这么做?你已经有了正确的解决方案。传递参数。 –