Thread wxPerl Checkboxen abfragen (5 answers)
Opened by vayu at 2007-05-25 12:04

vayu
 2007-05-25 12:04
#46357 #46357
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hi, ich erzeuge in einer schleife ein paar checkboxen.
darunter kommt ein button. über ein event lasse ich dann eine funktion aufrufen, wenn der button gedrückt wird.

sooo ... wie kann ich nun in dieser funktion die checkboxes abfragen.

ich hab wie man gleich sehen wird, die boxes in ein globales array gepushed, so dass ich dann aus der sub draufzugreifen kann ... aber die funktion isChecked() die ich in der c API gefunden habe gibts anscheinend nicht.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
my $frame = Wx::Frame->new(
undef, -1, 'Test', wxDefaultPosition, wxSIZE(400,500)
);
$frame->SetAutoLayout(1);
my $q = Wx::WidgetMaker->new(-parent => $frame);
my $pagesizer = Wx::BoxSizer->new(wxVERTICAL);

foreach(@exts) {
my $rowsizer = Wx::BoxSizer->new(wxHORIZONTAL);

my $control = $q->checkbox(
-name => 'color_checkbox',
-checked => 'checked',
-label => $_,
);
push @controls, $control; # <== @controls global definiert
$q->print($control, $rowsizer);
$pagesizer->Add($rowsizer);
}
my $rowsizer = Wx::BoxSizer->new(wxHORIZONTAL);
my $control = $q->submit(
-name => 'color_button',
-value => 'Oeffnen',
);
EVT_BUTTON($frame, $control, \&getExts);
$pagesizer->Add($rowsizer);
$q->print($control, $rowsizer);

$frame->SetSizer($pagesizer);
$pagesizer->SetSizeHints($frame);

$app->SetTopWindow($frame);
$frame->Show(1);

sub getExts {
my ($this, $event) = @_;
foreach(@controls) {
print Dumper \$_;
}
}

View full thread wxPerl Checkboxen abfragen