

- #VISUAL BASIC MENUSTRIP MNU UPDATE#
- #VISUAL BASIC MENUSTRIP MNU WINDOWS 10#
- #VISUAL BASIC MENUSTRIP MNU CODE#
#VISUAL BASIC MENUSTRIP MNU CODE#
Some colors may be reused by theming, but the general model I have in mind is that theming uses a lot of hardcoded colors and rendering code which you only can get by going through the theming API. PS: take everything I said here with a lot of caution, its driven by 10-15 year old memory and I didn't take a close look what WinForms does today in its menu rendering. It may take more than just picking colors, you may have to call the theming rendering APIs (which I think for menus is done nowhere in WinForms currently) So someone will probably have to look into how the theming API is to be used for rendering menus/toolbars/statusbars. Using Office as reference for UI theming has no point anymore if you don't provide the kind of controls used in Office. In my opinion the main goal should be to achieve parity with the OS, which obviously has been neglected in the menu/toolbar area because for a long time Office was seen as having the superior style. I don't know if there is much value maintaining the historic Office rendering styles beyond providing it for backward compatibility to existing WinForms users. Its been a long time since Office had menus and the OS has caught up and now has its own theming and UI styling rules separate from Office. (On the native side MFC had similar classes to replicate the more modern look and feel of Office, separately of the OS controls.) The point was that at that time Office was the reference application when you wanted modern UI and it was moving at a faster pace than the OS, so WinForms probably wanted to allow taking part of that modern look and feel.

If I remember right the general idea is that From a quick look you have no renderer using the theming API for menus/toolbars/statusbars (but I may have missed something). I'm not entirely sure if SystemColors (and SystemRenderer) will properly reflect theming. It's a lot ^.^ but it should make them almost completely visually indistinguishable from native controls. Currently the highlight lingers until the sub-menu disappears (see last screenshot).After highlighting an item with a sub-menu and then moving cursor to a sibling item above/below, the original highlighted item should immediately become unhighlighted.Sub-menus should overlap their parent menu item by 6 pixels on the left, and be flush with the top.Checkmark should have a background color RGB(144, 200, 246) when checked, or RGB(86, 176, 250) when checked and highlighted at the same time.Fix splitter padding (it should not leak into the checkmark/image column, and be 2px from the right border).
#VISUAL BASIC MENUSTRIP MNU UPDATE#

I have not measured widths/heights of items, those seem mostly fine. I have done measurements on 100% and 150% DPI, and marked those that change.
#VISUAL BASIC MENUSTRIP MNU WINDOWS 10#
It's probably not worth matching the look of Windows 7, so I will only consider differences from the Windows 10 look.
