[Gambas-user] Modifying a picture assigned to a menu

Benoît Minisini gambas at ...1...
Fri Nov 27 22:36:23 CET 2009


> Let's say first I assign a picture to a menu:
> 
>   DIM Pic AS Picture
>   Pic = NEW Picture(18, 18)
>   Pic.Fill(Color.Black)
>   MenuCustomColor.Picture = Pic
> 
> When I try to modify a picture assigned to a menu, if I use
> 
>   MenuCustomColor.Picture.Fill(Dialog.Color)
> 
> it does not do anything.
> 
> Instead I have to do:
> 
>   DIM Pic AS Picture
>   Pic = MenuCustomColor.Picture
>   Pic.Fill(Dialog.Color)
>   MenuCustomColor.Picture = Pic
> 
> Why is that?

Because the underlying toolkit uses its own "picture" object that is not 
automatically reassigned to the control automatically. In other words, assume 
that the Picture property returns a copy of the underlying picture.

I did a workaround only for the Control.Font property. I mean, settings 
Control.Font.Bold for example automatically reassigns the control font so that 
you see the change.

> 
> And is this the correct way to do this?

So, yes!

Regards,

-- 
Benoît Minisini




More information about the User mailing list