【发布时间】:2012-02-21 11:55:24
【问题描述】:
我知道如何在 StringGrid.OnDrawCell 事件期间绘制形状(通过调用 TCanvas 对象的方法)。但是,当我这样做时,我的 UI 会不断闪烁并随着绘制事件的反复触发而消耗内存。
导致闪烁的线条表示“如果 [给定单元格的条件 1=true] 然后 [在单元格中画一个红色圆圈]”。 (如果需要,我可以发布实际代码。)
那么,自定义方法是否可以做同样的事情——如果语句解析为真,则告诉网格在单元格中画一个圆圈?
【问题讨论】:
-
OnDrawCell is 是您在其中执行此操作的自定义方法。您是否将 DoubleBuffered 设置为 true?能贴出你的绘图代码吗? (我一直在 StringGrids 和 DBGrids 中使用自定义绘图,这不是问题。)另外,您使用的是什么 Delphi 版本?
-
你知道吗?我想这就是我所需要的……闪烁似乎停止了!我不知道 DoubleBuffered 属性。 (我认为阅读bcbcaq.freeservers.com/project_SG.html 对我有好处)。 ...请将您的回复作为回复发布,以便我可以接受它作为回答我的问题。谢谢! p.s.这是 2006 年的德尔福。
标签: delphi