我正在寻找添加一个“closures”button到我的主窗口的菜单。 一个例子可以在这里find图片: http : //ifyoucodeittheywill.com/img/crimson-editor.png
(因此,窗口标题区域中有常闭button,但窗口菜单栏中还有一个closuresbutton – 最右侧)。
我使用的是基本的win32 API,虽然使用MFC的例子也可以。
有谁知道如何做到这一点?
谢谢你,安德鲁
这样做的一个非常简单的方法是使用AppendMenu使用常规的菜单项,但使用下列标志:
下面是我在MSDN上找到的MF_HELP的一个参考 – 它实际上是关于使用Win32 API来右对齐菜单项,但使用Visual Basic。
MF_HELP(在winuser.h中定义)在Win16的日子里是一个保留的东西,当时的惯例是右对齐Help菜单项,所以它会分开。 在Win95附近,它被'重命名' – 一个附加的#define添加了相同的值 – WM_RIGHTJUSTIFY。
请注意,位图菜单项不可访问(例如,依靠屏幕阅读器读取屏幕上的位置的用户)。 如果采取这种方法,则至少在菜单的其他地方(例如,在文件下)添加常规的“关闭”菜单项,使得用户不必依靠这个项目,并且也可以通过常规手段来关闭它。 另外,请务必执行Ctrl-F4快捷键,这是大多数支持多个文档或选项卡的应用程序用来关闭当前项目的方式。
这些按钮通常带有MDI窗口。 不过,我很确定所描述的应用程序使用它自己的,或更可能是一些先进的第三方工具包。 因为,老实说,Windows API和MFC(这只是一个windows API的分类包装)给你的GUI编程是不可思议的有限的。
如果你想设计整洁的用户界面,从MFC清除,更好看看像Qt,wxWidgets之类的东西。
通过一切手段不要尝试自己创造这种行为。 如果您正在使用MFC的MDI体系结构,这是“免费”的功能。 当您调用关闭按钮“菜单旁边”关闭活动的MDI子窗口。 如果你不使用MDI体系结构,那么试图在那里添加一个关闭按钮是没有任何意义的。 你能解释一下,如果你正在使用MDI架构?