package my_control; use base 'Wx::Control'; use Wx qw(:sizer); use Wx::Event qw(EVT_BUTTON); sub new { my $ref = shift; my $parent = shift; my $self = $ref->SUPER::new($parent, -1); $self->{sizer} = Wx::StaticBoxSizer->new( Wx::StaticBox->new($parent, -1, 'Box label'), wxHORIZONTAL ); $self->{button} = Wx::Button->new($parent, -1, 'Button'); $self->{sizer}->Add($self->{button}); EVT_BUTTON($self, $self->{button}, \&click); $self->SetSizer($self->{sizer}); $self->{sizer}->SetSizeHints($self); $self->{sizer}->FitInside($self); return $self; } sub click { Wx::MessageBox('Click!'); }