gpt4 book ai didi

delphi - 我可以在 StringGrid 单元格中绘制形状而不调用 OnDrawCell 吗?

转载 作者:行者123 更新时间:2023-12-03 02:37:12 24 4
gpt4 key购买 nike

我知道如何在 StringGrid.OnDrawCell 事件期间绘制形状(通过调用 TCanvas 对象的方法)。然而,当我这样做时,我的 UI 会随着绘制事件一遍又一遍地触发而不断闪烁并消耗内存。

引起闪烁的线条表示“如果[给定单元格的条件1 = true]则[在单元格中画一个红色圆圈]”之类的内容。 (如果需要,我可以发布实际代码。)

那么,自定义方法是否可以做同样的事情——如果语句解析为 true,则告诉网格在单元格中画一个圆圈?

最佳答案

实际的绘图行为并不是导致闪烁的原因。当窗口反复刷新时就会出现闪烁。这通常意味着您没有正确管理窗口,例如,当绘图条件发生变化时,您调用的是 Refresh() 而不是 Invalidate()。将 DoubleBuffer 属性设置为 true 就像在上面贴上创可贴一样。它隐藏了问题,但没有真正解决根本问题。

关于delphi - 我可以在 StringGrid 单元格中绘制形状而不调用 OnDrawCell 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com