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