As a final piece in my ScrolledWindow saga, there's
http://www.wxperl.co.uk/example6.pl.txt
This works as is with the posted diff.
To use without the posted diff, you must uncomment the EVT_PAINT call and comment out 'OnDraw'.
It also has a 'run refresh loop' option on the menu bar so you can watch it consume all your resources. :-) (it shouldn't).
It works as a way to observe the issue I've been trying to resolve and a crude test if you decide to apply the diff.
No more GDI from me this week.
Regards
Mark