Re: Can you display a bitmap with/inside of a sizer?

[email protected] (Steve Cookson)
Newsgroups perl.wxperl.users
Message-ID <[email protected]>
Hi James,

Well really I find sizers are a bit problematic too.  At the beginning I 
did them just as you are doing.  Then I started drawing the more 
complicated ones out on a piece of paper before starting and now I have 
a standard layout which I reuse so that I have a standard header, a main 
panel and a standard footer with a standard set of buttons in it.  The 
main panel still requires some thinking, but I would have used the 
nested sizers idea that you used. Wx::GridBagSizer is a bit more 
complicated, but would also have worked, that way you might have been 
able to do the whole thing with one sizer.

Regarding the memory leak, I thought I had it.  I made a number of 
changes to make the code more streamlined and efficient and lo and 
behold the leak disappeared only to pop up else where.

It's driving me a bit crazier than I was anyway, and worse, I don't even 
know if it's causing the video crash!  Any suggestions welcome!

Thanks for asking,

Steve.

On 06/05/15 23:39, James Lynes wrote:
> Solved... via trial and error and error and error...
>
> Made the top level sizer horizontal, containing a left and right 
> vertical, containing text controls, bitmap, and buttons.
>
> Will post once I add a few more bells and whistles.
>
> Thanks again,
>
> James
>
>
> On Wed, May 6, 2015 at 4:06 PM, James Lynes <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Steve, thanks! Did the job.
>
>     But, of course, one question leads to at least one more.....
>
>     I would like the bitmap to be displayed to the right of a column
>     of TextCtrls. Currently the TextCtrls are being displayed under
>     the bitmap now that I'm not using an onPaint event . Do I need to
>     create two sub-panels with sub-sizers, one for the bitmap and one
>     for the TextCtrls? Or should the top sizer be a horzontal rather
>     than vertical? Trying to make some sense of this sizer stuff.
>
>     James
>
>     PS: Did you find your memory leak?
>
>     On Mon, May 4, 2015 at 11:32 AM, Steve Cookson
>     <[email protected] <mailto:[email protected]>> wrote:
>
>         Hi James,
>
>         You want Wx::StaticBitmap, like this:
>
>             my $bmp = Wx::Bitmap->new("path/to/bitmap.png",
>         wxBITMAP_TYPE_PNG) ;
>             my $sbm = Wx::StaticBitmap->new($parent, wxID_ANY, $bmp,
>         wxDefaultPosition, wxDefaultSize, );
>             $sizer->Add($sbm, 0, 0, 0);
>
>         Regards
>
>         Steve.
>
>
>
>         On 02/05/15 16:05, James Lynes wrote:
>
>             Good day!
>
>             I'm working on a little app to design common emitter
>             amplifiers. I created a circuit schematic with Eagle and
>             exported it to a PNG file.
>
>             I am currently displaying the PNG at a fixed location of
>             the screen with:
>
>                 Wx::Event::EVT_PAINT($self, sub {
>                     my ($self, $event) = @_;
>                     My $dc = Wx::PaintDC->new($self);
>                     my $bmp = Wx::Bitmap->new("CEAmpImg.png,
>             wxBITMAP_TYPE_PNG);
>                     $dc->DrawBitmap($bmp, 150, 50, 1);});
>
>             If would be nice if I could blend this in with the sizers
>             that are controlling the layout of the input and output
>             TextCtrls.
>
>             Thanks for your ideas.
>
>             James
>
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.