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.