http://qs1969.pair.com?node_id=433321


in reply to How do you draw a line in wxPerl?

I have no idea which widgets have a getDC() method

Afaik, none of them do. A quick grep of the docs suggest that the following have a GetDC(): Wx::EraseEvent, Wx::HtmlWinParser, Wx::Printout. I think there are two ways of achieving what your're after (maybe more) - either use a Wx::ClientDC:

my $dc = new Wx::ClientDC($frame); $dc->DrawLine(...);

or set up a Wx::PaintEvent for your frame:

use Wx::Event 'EVT_PAINT'; EVT_PAINT($frame, \&OnPaint); sub OnPaint { my ($frame, $event) = @_; my $dc = new Wx::PaintDC($frame); $dc->DrawLine(...); }

See Wx::Perl::Throbber for an example of the latter.

The wxPython wiki has lots of useful examples. They're in Python obviously, but it's trivial to do the translation in your head.

-- simonflk