GacUI今天终于支持菜单了。Windows7的菜单渐变样式十分复杂,让我端详了半个小时才搞清楚他的具体的绘图方法。代码上传到了
Vczh Library++ 3.0的Candidate\GUI\GuiDemo\GuiDemo.sln。先看插图。
制作菜单十分复杂,里面涉及到了很多黑暗的Windows API的知识,譬如说如何设置一个window的parent又不让他真正成为子窗口啦(所以parent总是在下面,但是却不包含它),譬如说如何设置全局鼠标钩子以便在合适的时候关掉菜单啦,如何不让菜单在单击的时候接受焦点啦,很多麻烦的事情。INativeWindow框架的windows实现在Candidate\GUI\NativeWindow\Windows\WinNativeWindow.cpp,可以看到很多处理这种事情的代码。
现在GacUI还没有键盘遍历焦点控件和触发快捷键的功能,这个等到大部分控件都做完了再添加。下面需要做的有:
1、带ItemTemplate的ComboBox
2、带ItemTemplate的ListView和TreeView
3、Ribbon
4、ToolBar
5、DocumentView和Canvas
6、其他杂碎控件
设计中的Accessibility的功能:
1、键盘操作焦点
2、不知道要不要提供UIAutomation,听说在美帝做软件没这个的话会很麻烦
3、根据Windows的色盲选项来自动更换皮肤
设计中的其他功能:
1、控件专用反射功能
2、因此可以提供UI Editor以及XML启动的功能
posted on 2011-11-12 23:27
陈梓瀚(vczh) 阅读(3206)
评论(9) 编辑 收藏 引用 所属分类:
GacUI