|
From: Thomas M. <to...@gm...> - 2006-11-13 02:00:32
|
brilliant! That was in fact the problem.
Thanks a bunch!
Tom
On 11/13/06, Mark Dootson <mar...@zn...> wrote:
> Tom,
>
> I've tested below on a Mac mini - 10.3, wx version 0.22.
> It works as desired.
>
> I think the problem with your code is you are using
> Wx qw( :all );
>
> and you are not using 'strict'.
>
> Wx does not export ':all', but uses ':everything' instead.
> This would have been apparent if 'use strict' were switched on.
>
> Best regards
>
> Mark
>
> #------------ EXAMPLE -------------------------------------
>
> package MyFrame;
> use strict;
> use Wx qw( :everything );
> use vars qw(@ISA);
> @ISA = qw(Wx::Frame);
>
> sub new{
> if(not exists $_[4]){ $_[4] = wxDefaultPosition;}
> if(not exists $_[5]){ $_[5] = wxDefaultSize;}
> my( $self ) = shift->SUPER::new( @_ );
> $self->{panel} =
> Wx::Panel->new($self,-1,wxDefaultPosition,wxDefaultSize);
> $self->{txtCheck} =
> Wx::TextCtrl->new($self->{panel},-1,"",wxDefaultPosition,wxDefaultSize,wxTE_MULTILINE);
>
> $self->{txtCheck}->SetFont(Wx::Font->new(12,wxMODERN,wxNORMAL,wxNORMAL,0));
> $self->{szVmain} = Wx::BoxSizer->new(wxVERTICAL);
> $self->{szVpanel} = Wx::BoxSizer->new(wxVERTICAL);
>
> $self->{szVmain}->Add($self->{panel},1,wxTOP|wxLEFT|wxBOTTOM|wxRIGHT|wxEXPAND,3);
>
> $self->{szVpanel}->Add($self->{txtCheck},1,wxTOP|wxLEFT|wxBOTTOM|wxRIGHT|wxEXPAND,3);
> $self->SetSizer($self->{szVmain});
> $self->SetAutoLayout(1);
> $self->Layout();
> $self->{panel}->SetSizer($self->{szVpanel});
> $self->{panel}->SetAutoLayout(1);
> $self->{panel}->Layout();
> $self->Refresh();
> $self->Centre();
> return $self;
> }
>
>
> package MyApp;
> use Wx;
> use base 'Wx::App';
> use vars qw(@ISA );
>
> @ISA = qw(Wx::App);
>
> sub OnInit {
> my( $self ) = shift;
> my( $frame ) = MyFrame->new(undef, -1);
> $frame->Show(1);
> return 1;
> }
>
>
> package main;
>
> my( $app ) = MyApp->new();
> $app->MainLoop();
>
>
> #------------ END EXAMPLE -------------------------------------
>
>
>
--
No discipline is ever requisite to force attendance upon lectures
which are really worth the attending.
-- Adam Smith, "The Wealth of Nations"
|