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
use strict; use warnings; use Tk; use Win32::Clipboard; my $CLIP = Win32::Clipboard(); # Erzeugt das Mainwindow my $mw = MainWindow->new(); #Setzen der Fenstergröße my $windowHeight = "640"; my $windowWidth = "500"; #Auslesen der Bildschirmgröße my $screenHeight = $mw->screenheight; my $screenWidth = $mw->screenwidth; #Positionieren des Fensters auf dem Bildschirm $mw->geometry($windowWidth."x".$windowHeight); $mw->geometry("+".int($screenWidth/2 - $windowWidth/2)."+".(int($screenHeight/2 - $windowHeight/2)-40)); my $textWidget = $mw->Scrolled( 'Text', -scrollbars=>'se', #this can be n,s,e,w according to compass positions. -wrap => 'none', -font => '{Arial} 10' )->pack(-fill => 'both', -expand => 1); $textWidget->bind('<Control-a>', sub{ $textWidget->selectAll; }); $mw->protocol("WM_DELETE_WINDOW" => sub { $CLIP->Set($CLIP->Get()); exit; }); MainLoop;
2012-02-28T08:29:27 KeanIch habe gerade mal etwas mit dem Modul Win32::Clipboard experimentiert und eine "Lösung" gefunden:
[.....]
Trotzdem bleibt es seltsam, dass es sonst nicht funktioniert...
1 2
$widget->clipboardAppend("String"); $fromclip = $widget->SelectionGet(-selection => 'CLIPBOARD');
2012-02-29T08:24:10 KeanIch hab den Abschnitt gelesen und es funktioniert bei mir nicht.
Das Auslesen funktioniert, das schreiben in die Zwischenablage funktioniert aber sobald das Script beendet wird ist alles gelöscht.
2012-02-29T08:24:10 KeanAber die Lösung mit Win32::Clipboard funktioniert super.