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 racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/2e87e4e8-a576-46e2-0c62-536dac872cab%40comcast.net.