http://qs321.pair.com?node_id=443378


in reply to Wx::FontDialog Problem

I tried it on my machine on Windows, and it does work as PodMaster suggested: It is an object, as you can see using

print " ref Font: " . ref($font) . "\n";

which prints ref Font: Wx::Font on my machine.

By the way, don't forget to use SetInitialFont() and remember the font data to set the initial font displayed to the user, or else your application will forget it's settings. E.g., do this:

sub OnTest { my($self, $event) = @_; my $dialog = Wx::FontDialog->new($self, $self->{fontdata}); $dialog->Create($self); if ($dialog->ShowModal() == wxID_OK) { $self->{fontdata} = $dialog->GetFontData(); my $font = $self->{fontdata}->GetChosenFont(); $self->{fontdata}->SetInitialFont($font); printf("You chose %s %ipt\n", $font->GetFaceName(), $font->GetPointSize()); } else { print "No choice.\n"; } }