GacUI支持菜单

GacUI支持菜单
    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启动的功能

你可能感兴趣的:(GacUI支持菜单)