我进行了一些关于MF_MENUBARBREAK
的实验,但是只能在菜单的最顶层实现两列。
我想要的是这样的菜单:
我不是想让整个菜单都有两列,而是在第一行中有两个菜单项(左和右)。其他的每个条目将占据其自己的整行。这可能吗?
我进行了一些关于MF_MENUBARBREAK
的实验,但是只能在菜单的最顶层实现两列。
我想要的是这样的菜单:
我不是想让整个菜单都有两列,而是在第一行中有两个菜单项(左和右)。其他的每个条目将占据其自己的整行。这可能吗?
不,这是不可能的。本地菜单系统不支持“分割”多列菜单。
如果下拉菜单有多列,则整个下拉菜单将有多列。否则,所有项目都显示在单列中。
除非你像我刚才所做的那样在Paint中模拟它,否则你无法拥有它:
相反,所有在你设置了MF_MENUBARBREAK
标志的项目之后的项目都将显示在第二列中。例如,如果“右”项目设置了MF_MENUBARBREAK
标志,则菜单将如下所示:
MF_MENUBARBREAK
标志的那个)之前添加这些项目,则它们将全部位于第一列,如下所示:
...但它们仍然在同一列中。除非自己绘制菜单,否则没有其他选择,这需要的工作量比它所值得的还要大(相信我)。
也许你可以只是在“左侧”和“右侧”类别下复制编号项目?只要为每个菜单项分配一个独特的ID,在代码中区分它们就不是问题。
用户也(有点)理解子菜单,因此您仍然可以拥有一个单一的顶级菜单,其中包含“左”和“右”项目,它们本身显示包含编号项目的子菜单。但通常的规则适用-不要嵌套太深等。