Thread Tk::messageBox den icon oben wegkriegen, geht das? (6 answers)
Opened by #Kein Kommentar at 2007-11-03 16:50

Spieler
 2007-11-04 12:43
#101815 #101815
User since
2007-09-24
70 Artikel
BenutzerIn
[default_avatar]
Hallo,

Ein applikations - übergreifendes Icon kannst du z.B. wie folgt erzeugen. Das funktioniert aber nicht mit messageBox, weil dies - so vorhanden - einen Systemdialog benutzt daher 'MessageBox(-parent => $my_parent)', dann funktioniert es.

Grüße, Christoph

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
use warnings;
use strict;
use Tk;
my $logo = <<'logo_end';
/* XPM */
static char * logo_xpm[] = {
"32 32 5 1",
" c None",
". c #FD000A",
"+ c #FD6463",
"@ c #FEBEBE",
"# c #FEFFFC",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"########........##.....@########",
"#########@....+####@.###########",
"##########+....@###.@###########",
"###########.....##++############",
"###########@....+@.#############",
"############+.....@#############",
"#############.....##############",
"#############@....@#############",
"#############@.....#############",
"#############.+....+############",
"############++#+....@###########",
"###########@.###.....###########",
"###########.@###@....+##########",
"##########++#####+....@#########",
"########+....###........########",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################",
"################################"};
logo_end
;






package Tk::Toplevel;

sub InitObject{
my ($self,$args) = @_;
$self->SUPER::InitObject($args);
my $mw = $self->MainWindow;
if ($mw->cget('-appicon')){
$self->afterIdle(sub{$self->iconimage($mw->cget('-appicon'))}) ;
}

}

package MainWindow;
sub Populate{
my ($self,$args) = @_;

$self->SUPER::Populate($args);
$self->ConfigSpecs(-appicondata => ['METHOD'],
-appiconfile => ['METHOD'],
-appicon => ['PASSIVE']
);
$self->configure(%$args);
}

sub appicondata{
my $self = shift;
$self->configure(-appicon => $self->Pixmap(-data=>$_[0]));

}

sub appiconfile{
my $self = shift;
$self->configure('-appicon' => $self->Pixmap(-file=>$_[0]));

}

package main;

#my $mw = MainWindow->new(-appiconfile => 'logo.xpm');
my $mw = MainWindow->new(-appicondata => $logo);
$mw->Toplevel();

$mw->MessageBox(-parent => $mw,
-font => 'Helvetica 11',
-message => 'a message');
MainLoop;

View full thread Tk::messageBox den icon oben wegkriegen, geht das?