# ReactOS Menu and Submenu Interaction Implementation

DevFeed: [ReactOS Menu and Submenu Interaction Implementation](<https://devfeed.tech/articles/the-starts-and-the-menus-33029.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/the-starts-and-the-menus/>)

Published: 2014-02-23T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [Toolbar](<https://devfeed.tech/topics/toolbar.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [callback](<https://devfeed.tech/topics/callback.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [code](<https://devfeed.tech/tags/code.md>), [free](<https://devfeed.tech/tags/free.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [toolbar](<https://devfeed.tech/tags/toolbar.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>), [windows](<https://devfeed.tech/tags/windows.md>)

## AI overview

A ReactOS development update describes implementing menu-item callbacks, submenu opening on hover, and related toolbar behavior. It also reports fixing an OnPaint return-value issue, comparing behavior with Windows, and refactoring menu code.

## Source excerpt

The week began by implementing the functionality needed to handle clicking on menu items. This involved sending a callback notification for the currently selected item, asking the callback to execute the appropriate action of the item. Some of the items are not meant to be clicked on and are supposed to show a submenu instead. For these items I had to subclass the toolbar windows so that I could add a timer on hover and handle the opening of the submenu in the resulting WM_TIMER event, which would be received by the toolbar, but needed to be handled by my code.