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) 閱讀(3210)
評論(9) 編輯 收藏 引用 所屬分類:
GacUI