Why InvalidateRow/InvalidateColum does not work?

2019-04-18 03:18发布

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

1条回答
家丑人穷心不美
2楼-- · 2019-04-18 03:58

"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

查看更多
登录 后发表回答