为什么 InvalidateRow/InvalidateColum 不起作用? [英] Why InvalidateRow/InvalidateColum does not work?
问题描述
InvalidateRow 和 InvalidateColum 不适用于 TStringGrid.这些方法不会使整个 Row/Col 无效.
InvalidateRow and InvalidateColum are not working for TStringGrid. The methods will not invalidate the entire Row/Col.
InvalidateGrid 始终有效(因此在找到错误原因之前,这可能是一个肮脏的解决方法).
在某些情况下(它似乎是随机的) InvalidateRow 和 InvalidateColum 似乎也可以工作.更新:我发现了哪些情况会触发bug:网格必须大于可见区域且位置在视图之外.
InvalidateGrid always works (so this could be a dirty work-arround until the cause of the bug is found).
In some circumstances (it seems to be random) InvalidateRow and InvalidateColum seem to work also.
Update: I have found which circumstances will trigger the bug: the grid must be larger than the visible area and the position is outside of the view.
有什么想法吗?
Delphi 7,Win 7 32 位
Delphi 7, Win 7 32 bits
推荐答案
SOLVED"(Delphi VCL bug)
"SOLVED" (Delphi VCL bug)
我发现这个 bug 从 Delphi 1 开始就存在:http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
I have found that this bug exists since Delphi 1: http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
感谢 Jeroen Wiert Pluimers 提供解决方案!
Thanks Jeroen Wiert Pluimers for providing a solution!
更新:
Embarcadero QC 链接永久损坏(有人应该教那些人使用 301 重定向)但在这里是 解决方案.
另外,这是 WayBackMachine:https://web.archive.org/web/20171220161153/http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
Also, here is the WayBackMachine: https://web.archive.org/web/20171220161153/http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
这篇关于为什么 InvalidateRow/InvalidateColum 不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!