【发布时间】:2018-03-27 07:46:00
【问题描述】:
我正在尝试为TDBGridEh 编写自定义绘制单元格方法。问题是当我更改钢笔、画笔的属性时……绘画变得凌乱。那是因为控件在调用事件处理程序后自己做了一些额外的绘制。所以我必须保留所有道具,然后在我自己的画完成时重新设置它们。
我尝试创建自己的TControlCanvas 并将网格分配给它,但我得到一个运行时异常消息:
无法将 TControlCanvas 分配给 TControlCanvas
,表示AssignTo 方法没有为TControlCanvas 实现,也没有为它的祖先实现。所以我的问题是:
为什么
TControlCanvas没有AssignTo方法?有什么问题?如何保留和恢复 TControlCanvas 的所有属性?我的意思是比创建
TPen、TBrush、TFont等更方便。
【问题讨论】:
-
在
Graphics.pas和SaveDC/RestoreDC中有TFontRecall及其兄弟姐妹Windows.pas。