I did some experiments with MF_MENUBARBREAK, but with this I can only achieve two columns at the top-most level of the menu.
What I want is a menu like this:

It is not the full menu that I want to have two columns, but have two menu (Left and Right) items in the first line. Every other entry will ocupy its own entire line. Is that possible?
No, this is not possible. The native menuing system does not support “split” multi-column menus.
If a drop-down menu has multiple columns, then the entire drop-down menu will have multiple columns. Otherwise, all of the items are displayed in a single column.
You cannot have this (unless you mock it up in Paint like I just did):
Instead, all of the items that come after the one for which you’ve set the
MF_MENUBARBREAKflag will be displayed in a second column. For instance, if the “Right” item has theMF_MENUBARBREAKflag set, your menu will look like this:You can’t get items “One” through “Three” to appear as if they were not in one column or the other. If you added the items before “Right” (the one with the
MF_MENUBARBREAKflag), they would all be in the first column, like this:…but they are still in a column. There’s no way around that, short of owner-drawing the menus yourself, which is way more work than it is worth (trust me).
Perhaps you could just duplicate the numbered items under the “Left” and “Right” categories? As long as you gave each of the menu items a unique ID, it wouldn’t be an issue to differentiate between them in code.
But then you would still need to find some way to indicate that “Left” and “Right” were column headers and should be treated differently from the items underneath them. I guess you could disable them and/or draw them in bold, but that’s still not guaranteed to produce an intuitive UI.
Better yet, I would recommend keeping your “creative” UI design compulsions to a minimum and just adding another top-level menu. Users know how to use top-level menus. They already grasp this mental model. They don’t really know how to use your weird custom menus, and anything weird is likely to trip up your users more often than not.
Users also (sort of) understand sub-menus, so you could still have a single top-level menu with “Left” and “Right” items that themselves display sub-menus containing your numbered items. But the usual rules apply—don’t nest things too deeply, etc.
On OS X, I’ve seen something like the following menu structure:
It works well there, where users are accustomed to it. And as a programmer who likes to see things properly nested and placed into categories, I quite like it myself. But I’m not sure how intuitive it’ll be to Windows users, for whom it’ll be rather unusual. You’ll have to do some usability testing.