GacUI今天終于支持菜單了。Windows7的菜單漸變樣式十分復(fù)雜,讓我端詳了半個小時才搞清楚他的具體的繪圖方法。代碼上傳到了
Vczh Library++ 3.0的Candidate\GUI\GuiDemo\GuiDemo.sln。先看插圖。

制作菜單十分復(fù)雜,里面涉及到了很多黑暗的Windows API的知識,譬如說如何設(shè)置一個window的parent又不讓他真正成為子窗口啦(所以parent總是在下面,但是卻不包含它),譬如說如何設(shè)置全局鼠標(biāo)鉤子以便在合適的時候關(guān)掉菜單啦,如何不讓菜單在單擊的時候接受焦點(diǎn)啦,很多麻煩的事情。INativeWindow框架的windows實現(xiàn)在Candidate\GUI\NativeWindow\Windows\WinNativeWindow.cpp,可以看到很多處理這種事情的代碼。
現(xiàn)在GacUI還沒有鍵盤遍歷焦點(diǎn)控件和觸發(fā)快捷鍵的功能,這個等到大部分控件都做完了再添加。下面需要做的有:
1、帶ItemTemplate的ComboBox
2、帶ItemTemplate的ListView和TreeView
3、Ribbon
4、ToolBar
5、DocumentView和Canvas
6、其他雜碎控件
設(shè)計中的Accessibility的功能:
1、鍵盤操作焦點(diǎn)
2、不知道要不要提供UIAutomation,聽說在美帝做軟件沒這個的話會很麻煩
3、根據(jù)Windows的色盲選項來自動更換皮膚
設(shè)計中的其他功能:
1、控件專用反射功能
2、因此可以提供UI Editor以及XML啟動的功能
posted on 2011-11-12 23:27
陳梓瀚(vczh) 閱讀(3210)
評論(9) 編輯 收藏 引用 所屬分類:
GacUI