为什么 InvalidateRow/InvalidateColum 不起作用?
InvalidateRow 和 InvalidateColum 不适用于 TStringGrid。这些方法不会使整个行/列无效。
InvalidateGrid 始终有效(因此,在找到错误原因之前,这可能是一个肮脏的工作环境)。
在某些情况下(似乎是随机的)InvalidateRow 和 InvalidateColum 似乎也可以工作。 更新:我已经发现哪些情况会触发该错误:网格必须大于可见区域并且位置在视图之外。
有什么想法吗?
德尔福 7、Win 7 32 位
InvalidateRow and InvalidateColum are not working for TStringGrid. The methods will not invalidate the entire Row/Col.
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.
Any ideas?
Delphi 7, Win 7 32 bits
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
“已解决”(Delphi VCL bug)
我发现这个bug自Delphi 1以来就存在:http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
感谢 Jeroen Wiert Pluimers 提供解决方案!
更新:
Embarcadero QC 链接已永久损坏(有人应该教这些人使用 301 重定向),但这里是 解决方案。
另外,这是 WayBackMachine:
https:// web.archive.org/web/20171220161153/http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
"SOLVED" (Delphi VCL bug)
I have found that this bug exists since Delphi 1: http://qc.embarcadero.com/wc/qcmain.aspx?d=81060
Thanks Jeroen Wiert Pluimers for providing a solution!
Update:
The Embarcadero QC link is permanently broken (somebody should teach those guys to use 301 redirects) but here is the solution.
Also, here is the WayBackMachine:
https://web.archive.org/web/20171220161153/http://qc.embarcadero.com/wc/qcmain.aspx?d=81060