Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4967[/thread]

Win32::GUI::Menu updaten!?



<< >> 8 Einträge, 1 Seite
Froschpopo
 2005-04-25 04:57
#43716 #43716
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab nen kleines Menü im Systray:
Code: (dl )
1
2
3
4
5
6
7
8
sub systray_RightClick { 
my $systray_menu = new Win32::GUI::Menu(
"SystrayMenu Functions" =>"SystrayMenu",
"> hier klicken" => 'test'
);
my($x, $y) = Win32::GUI::GetCursorPos();
$win32->TrackPopupMenu($systray_menu->{SystrayMenu}, $x, $y-50);
}

Jetzt möchte ich gerne "hier klicken" updaten. Wie kann ich das anstellen? Fürs Tk gibt es ja das configure(). gibt es sowas auch für Win32::GUI?
Froschpopo
 2005-04-25 20:51
#43717 #43717
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also was ich konkret suche ist sowas wie -state bei Tk
Froschpopo
 2005-04-26 01:43
#43718 #43718
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ok scheint's einfach nicht zu geben...
Froschpopo
 2005-04-26 02:33
#43719 #43719
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also die doku zu Win32::GUI is ja echt mehr als mager... ich bin jetzt dort zwar auf "Change" gestoßen, allerdings steht da auch nichts was sich mit einem hilfreichen Tipp vergleichen lässt...
zipster
 2005-04-26 10:37
#43720 #43720
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Würde dann wie Folgt aussehen.

Code: (dl )
$systray_menu->{test}->Change( -text => "www.Perl-Community.de"  );
Froschpopo
 2005-04-26 15:30
#43721 #43721
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
hatte ich auch schonmal ausprobiert aber hat auch nichts geändert...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub systray_RightClick {
my $systray_menu = new Win32::GUI::Menu(
"SystrayMenu Functions" => "SystrayMenu",
">-" => "",
"> Mein Status" => "",
">> Online" => 'set_status(1)',
">> Beschäftigt" => 'set_status_Click(2)',
">> Bin gleich zurück" => 'set_status(3)',
">> Abwesend" => 'set_status(4)',
">> Mittagspause" => 'set_status(5)',
"> Abmelden" => { -name => 'open_main', -state => 1 },
">-" => "",
"> Öffnen" => { -name => 'open_main', -bold=>1 },
"> Beenden" => 'quit'
);
my($x, $y) = Win32::GUI::GetCursorPos();
$config{Win32Window}->TrackPopupMenu($systray_menu->{SystrayMenu}, $x-50, $y);
$systray_menu->{quit}->Change(-text => "huhu");
}
zipster
 2005-04-26 15:57
#43722 #43722
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Wie soll das den so funktionieren??

*kopfschüttel*

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
 my $systray_menu = new Win32::GUI::Menu(
"SystrayMenu Functions" => "SystrayMenu",
">-" => "",
"> Mein Status" => "",
">> Online" => 'set_status(1)',
">> Beschäftigt" => 'set_status_Click(2)',
">> Bin gleich zurück" => 'set_status(3)',
">> Abwesend" => 'set_status(4)',
">> Mittagspause" => 'set_status(5)',
"> Abmelden" => { -name => 'open_main', -state => 1 },
">-" => "",
"> Öffnen" => { -name => 'open_main', -bold=>1 },
"> Beenden" => 'quit'
);
sub systray_RightClick {
my($x, $y) = Win32::GUI::GetCursorPos();
$config{Win32Window}->TrackPopupMenu($systray_menu->{SystrayMenu}, $x-50, $y);

}
sub set_status(1)_Click
{
$systray_menu->{quit}->Change(-text => "huhu");
}



So müßte es funktionieren\n\n

<!--EDIT|zipster|1114516765-->
Froschpopo
 2005-04-26 17:01
#43723 #43723
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ok das Change funktioniert jetzt. Danke

du weists aber schon was ein Argument ist oder?
Ich möchte das Argument "1" an set_status übergeben und dann dort mittels $_[0] in empfang nehmen.
Du hast das den Argument-Syntax in den Name der Sub eingebaut der meines wissens nach nichtmal vom syntax her korrekt ist

Zitat:
Code: (dl )
1
2
3
4
sub set_status(1)_Click
      {
       $systray_menu->{quit}->Change(-text => "huhu");
      }


Was ich gesucht habe ist sowas:
Code: (dl )
1
2
3
4
sub set_status_Click
      {
       $systray_menu->{quit}->Change(-text => "$_[0]");
      }


Jetzt ist die Frage, wie ich den @_ aus dem Menü heraus füllen kann!\n\n

<!--EDIT|Froschpopo|1114520750-->
<< >> 8 Einträge, 1 Seite



View all threads created 2005-04-25 04:57.