http://www.perlmonks.org?node_id=152474


in reply to WxPerl woes -- putting a Tree into a ScrolledWindow

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.

my ($lcanvas) = $self->{LEFTCANVAS} = MyCanvas->new($splitter, -1,[0, +0], [400,400],'Test1'); my ($rcanvas) = $self->{RIGHTCANVAS} = MyCanvas->new($splitter, -1,[ +0,0], [400,400],'Test2');
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:
my ($lcanvas) = $self->{LEFTCANVAS} = Wx::Panel->new($splitter, -1,[0 +,0], [400,400]); my ($rcanvas) = $self->{RIGHTCANVAS} = Wx::Panel->new($splitter, -1, +[0,0], [400,400]);

update

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