# Parse ein XML Document use XML::Simple; my $xml = new XML::Simple; my $doc = $xml->XMLin("file.xml"); # Zähle Anzahl Einträge my $rowCount=0; foreach my $key (keys (%{$doc->{item}})){ $rowCount++; } # Erstelle Grid $self->{grid} = Wx::Grid->new($self->{tab}, -1); $self->{grid}->CreateGrid($rowCount,4); $self->{grid}->SetColLabelValue(0,"A"); # Füge dem Grid anhand der XML Datei die Einträge hinzu my $row=0; foreach my $key (keys (%{$doc->{item}})){ my $name = $doc->{item}->{$key}->{'name'}; $self->{grid}->SetCellValue($row,1, $name); # Erstelle statisches Event für Eintrag für PopUp Menü Event Wx::Event::EVT_MENU($self, "01".$row."", \&onSelect); $row++; } # Füge Rechtsklick-Event hinzu für Grid Zellen Wx::Event::EVT_GRID_CELL_RIGHT_CLICK($self, \&showPopupMenu); # Das PopUp Menü an sich sub showPopupMenu { my ($self,$event) = @_; my $pos = $event->GetPosition(); my $row = $event->GetRow(); my $menu = Wx::Menu->new(); my $download = Wx::MenuItem->new($menu, "01".$row."","Select"); $menu->AppendItem($download); $menu->Append($loeschen); $menu->Append($neustart); $self->PopupMenu($menu, $pos); $menu->Destroy(); } # Die Methode bei PopUp Menü Event # Nur woher weiß ich jetzt für welchen Eintrag bzw. Reihe des Grids der Event ausgelöst wurde? sub onSelect { my ($self,$event) = @_; my $row = ????; # Woher nehmen wenn nicht stehlen? $self->{grid}->SetCellValue($row,1, "Text"); }