It should be reported as a bug, with the latest zip.
The "dat" file isn't needed (the app seems to create it itself).
Below can be copied to the bug report:
The problem actually (most likely) is not the artifacts. The page doesn't paint it's background.
- In the clean version the background is white
- With the artifacts the background is grey, but when it cleans up (on resize) it becomes white.
So apparently the components are painted on the "not painted" page.
However, there must be something else to it, because it is limited to Checkbox and radio.
- They both are "see through". If you place a radio above a label, you can see parts of the label.
- So are labels too. But labels are TGraphicControl, radios are TWinControl.
- Radio, Checkbox AND TButton have a custom WndProc (and all 3 have the same) that omits "EraseBackground" (otherwise it flickers like hell). For buttons it does not matter, they are not "see through" and do it in paint.
Yet, changing the WndProc ("SubClassWndProc") does not help, not completely.
If EraseBackground gets called for radio/checkbox
- the artifacts are gone
- the background will be white (as *should* be the page)
- the page will still be grey, until it gets resized - and then it becomes white too.
So if instead the page was fixed, the the artifacts should go to. (probably). And it shouldn't introduce the massive flicker that the checkbox/radio EraseBackground does.