On 1/9/2021 3:20 AM, Dominik Pantůček wrote:
> Maybe a stupid question ...
> > Is  "close-icon" the name of the bitmap or a function that creates a
> bitmap?

I am using images/icons/misc:

https://docs.racket-lang.org/images/Icons.html?q=close-icon#%28def._%28%28lib._images%2Ficons%2Fmisc..rkt%29._close-icon%29%29

So it generates a bitmap% in the end.

> Have you tried:
> >    (new button% (label close-icon "&Quit" 'left) ...) >
Just out of curiosity right now and no, the button% does not accept
procedure to be a part of that list.

Unfortunately, I'm not well versed in Racket's GUI library - I have done a lot of GUI work in C and C++.

In the OS graphics [X, GDI, etc], the button and the icon are separate objects: e.g., deleting the button will not also delete an icon attached to it, so if the icon doesn't have its own handle, you'll lose it and have a resource leak.

These things often are handled at higher level by the graphics libraries - and Racket may do that [I don't know] - but my first thought would be to name the icon separately, and then pass the name to the button constructor.  E.g.,

    (define my-icon (close-icon))
    (new button% (label my-icon "&Quit" 'left) ...)


I'm thinking that the button isn't functioning correctly because it isn't being constructed improperly.  Theoretically the reference to the icon should be the same regardless, but a lot of the library is macro code and who knows what it really expects.  When in doubt I try to simplify.

YMMV,
George

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/2e87e4e8-a576-46e2-0c62-536dac872cab%40comcast.net.

Reply via email to