When developing a themed application that uses TGlyphButton, there is a notable difference between Windows buttons and TGlyphButton that breaks the visual harmony of the user interface. TGlyphButton should be rendered using the active theme.
Bugs: #356
Discussion: Problems with migrating to OWLNext 6.35
Discussion: Problems with migrating to OWLNext 6.35
Discussion: Glyph button demo
Wiki: OWLNext_Stable_Releases
Anonymous
Submitted to Vidar and Jogy.
Hope it gets approved :)
Hi Sebastian, what is the status on this? As far as I can remember, you had working code close to complete. Do you plan to submit directly to the repository or post a new patch for review?
I just have to sit and work on it to finish. :)
I was working on Linux and OSX, but I should not forget Windows.
Hi Sebastian, I have now updated your preliminary patch and submitted it in [r1785].
Note that the issues I remarked upon in my review still remain:
isThemedshould not be a member variable (and not be static, as you suggest). It should be a function detecting themes dynamically. See TGadgetWindow and TButtonGadget for reference. Don't worry about the speed of detection.Aside: OWLNext lacks response table macros for WM_MOUSELEAVE and the related events. You should consider adding these. Encapsulation functions for TrackMouseEvent in TWindow would also be nice:
Related
Commit: [r1785]
Last edit: Vidar Hasfjord 2013-02-24
The theme detection issues mentioned in my review have now been fixed [r1918].
TGlyphButton will now cope with run-time theme changes and seamlessly switch the rendering style according to the compatibility settings for the application and the theme selection in the Control Panel (including Classic non-themed style).
Related
Commit: [r1918]
The issues regarding hot state tracking has now been addressed [r1923]. This change relies on new support for TrackMouseEvent and WM_MOUSELEAVE [r1922].
Related
Commit: [r1922]
Commit: [r1923]
Last edit: Vidar Hasfjord 2014-02-11
Flicker-free painting has been reinstated in [r4539]. The fix was merged into Owlet in [r4540] and into 6.44 in [r4541].
Related
Commit: [r4539]
Commit: [r4540]
Commit: [r4541]