The main thing I'm missing (but that can be because of a copy-and-paste error on your side) is the definition of your 'MyCanvas' class.
You could also use a Wx::Panel instead of your MyCanvas, which is what I normally use to put controls on. That would result in something like this:
I see I overlooked the definition of your MyCanvas. I don't have any documentation nor wxPerl itself at hand where I am now, but I suspect something is going wrong in your new() definition of MyCanvas. But since you're not really adding anything to the Wx::ScrolledWindow Class here, I'd just use a Wx::ScrolledWindow directly instead of subclassing it (the only thing you seem to add is letting the caller omit 1 parameter). Try that and let me know if it works.
Hope this helps
Jouke Visser, Perl 'Adept'
Using Perl to help the disabled: pVoice and pStory
In reply to Re: WxPerl woes -- putting a Tree into a ScrolledWindow