Schrift
[thread]11428[/thread]

MainWindow Events

Leser: 1


<< >> 4 Einträge, 1 Seite
Gast Gast
 2008-03-07 12:07
#106781 #106781
Hallo Community,

kann mir bitte jemand helfen. Ich versuche leider vergeblich die Events eines MainWindow abzufangen um darauf zu reagieren. Leider funktioniert es nicht.

Ich möchte Code ausführen, wenn ein Fenster aktiviert bzw. deaktiviert wird und wenn Fenster vergrössert/verkleinert wird.

Mein Versuch sieht so aus.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
use Tk;

my $mw = MainWindow->new;

$mw->bind('<Activate>' => sub { print "Aktiviert\n"; });
$mw->bind('<Deactivate>' => sub { print "deaktiviert\n"; });

$mw->bind('<ResizeRequest>' => sub { print "Verändert\n"; });

MainLoop;


Offensichtlich ist der Versuch aber falsch, da es nicht funktioniert. Leider sind meine Englisch-Kenntnisse etwas bescheiden, so dass ich die Module bind.pod und Andere nicht verstehen kann :(.

Google habe ich auch schon bemüht, aber auch ohne Erfolg.

Kann mir bitte jemand sagen, wie ich es machen soll?

Betriebssystem ist Windows und Perl-Version ist 5.8.4.

Vielen Dank!

Alex
renee
 2008-03-07 12:29
#106783 #106783
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also das "Resize" könnte man so machen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl

use strict;
use warnings;
use Tk;


my ($width,$height) = (300,400);
my $mw = tkinit;
$mw->geometry( $width . 'x' . $height );
$mw->bind('<Configure>', \&resize_mw);


MainLoop;

sub resize_mw{
   my $ev = $mw->XEvent;
   if( $width != $ev->w or $height != $ev->h ){
      $width  = $ev->w;
      $height = $ev->h;
      print "Fenstergroesse veraendert\n";
   }
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-03-07 12:32
#106784 #106784
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das was Du als "aktiviert" siehst, dürfte das "FocusIn" sein:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

use strict;
use warnings;
use Tk;


my ($width,$height) = (300,400);
my $mw = tkinit;
$mw->geometry( $width . 'x' . $height );
$mw->bind('<FocusIn>', \&focus_in);


MainLoop;

sub focus_in{
   print "aktiviert\n";
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-03-07 12:42
#106788 #106788
jep, funktioniert wie ich es wollte :)

Danke Renee!

Alex
<< >> 4 Einträge, 1 Seite



View all threads created 2008-03-07 12:07.