in reply to How do I change the colour of a Tk separator
First the MenuButton is rather hard to deal with just on it's own, let alone changing colors of it's constituent parts. So all you can do is read it's perldoc, and if it dosn't have an "advertised subwidget" for the particular constituent part, it means you will have to write your own sub-classed version, and change the default color yourself.
The only example I've seen of manipulating the fonts, colors, and icons of a menu is below.
The syntax#!/usr/bin/perl use strict; use warnings; use Tk; use Tk::JPEG; my $mw = MainWindow->new( -title => 'Testing Tk::Menu', -width => 500, -height => 100, -background => 'yellow', -name => 'Demo', ); $mw->minsize( 500, 300 ); my $folder_image = $mw->Photo(-data =>' R0lGODlhFAAQAKIAANnZ2QAAAP//AP///4SGAP///////////yH5BAEAAAAALAAAAAAUAB +AA AANzCLrcgYGgy70YgaDLjaGrCLqsGLoKgAARgaCrEQi6IYOCoRugCLoxgiMjIzgBEQi6IY +My MjIogaC7MSgjGLqMoBoyKEFCgiQkFAiqMYJBQkIoJBQIuiGBJCQkSEKBoAsRSEJCgiQUCL +qK ocuBoMvtDyNACQA7'); my $bf = $mw->fontCreate('big', -family=>'arial', -weight=>'bold', -size=>int(-18*18/14)); my $menubar = $mw->Menu( -type => 'menubar', -font => "Verdana 18 bold", # -font => 'big' ); $mw->configure( -menu => $menubar ); $menubar->configure( -font => "Verdana 18 bold" ); #$menubar->configure( -font => 'big' ); my $m1 = $menubar->cascade( -label => 'File', -tearoff => 0, -menuitems => [ [ Button => 'New', -font => "Verdana 18 bold", -command => \&create_new_file ], [ Button => 'Open', -command => \&open_file, -font => 'big', -background => 'black', -foreground=> 'white', -image => $folder_image, ], [ Button => 'Exit', -background => 'red', -foreground=> 'white', -command => sub {exit} ], ] ); MainLoop; sub create_new_file { print "create_new_file...\n"; } sub open_file { print "open_file...\n"; } __END__
is almost never used. Maybe it's your EnginSite Perl Editor doing it. Boilerplate code generators probably would use that syntax.# Tk::Label=HASH(0x1c03614)->configure(-fg => "gray",);
As far as sending sound from the microphone to the speaker, it is more of a mixer setting, that a Perl question. On linux we can use alsactl to set the capture settings on the sound card inputs. There must be something in the Win32 set of modules to control the mixer and microphone mute buttons.
To upgrade to the latest Perl, go to ActiveState's website and get the latest version. Tk is included.
Don't believe the "don't upgrade if it isn't broke B.S.". The current Tk version is a major update over the old 024 release. If you write with the older version, your code may not run for everyone with the newer version( which is almost everyone who answers questions). There have been many bugfixes and syntax updates. So if you continue to use the old version, you will find yourself asking questions about something not working, and being told to upgrade.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How do I change the colour of a Tk separator
by Anonymous Monk on Jan 12, 2006 at 15:14 UTC |