當前位置:
首頁 >
基于DirectUI搭建Windows窗体程序
發布時間:2025/3/17
42
豆豆
生活随笔
收集整理的這篇文章主要介紹了
基于DirectUI搭建Windows窗体程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用DirectUI需要directuiCom.dll,包含IDirectUI.h和DirectuiDef.h。在你的應用程序中初始化CLSID_DirectUI,并獲取IDirectUI(IID_IDirectUI)接口。具體初始化方式可以參考官網示例。DirectUI的界面定義分為xml + script。xml定義界面的布局、樣式、資源。script文件定義相關消息的映射處理,并通過Window.OnSkinCmd轉發相應的消息到指定的函數。假設這里你使用的技術是ATL,DirectUI定義了WM_SKIN_COMMAND消息,你可以添加對應的MESSAGE_HANDLER:
MESSAGE_HANDLER(WM_SKIN_COMMAND, OnSkinCommand)在OnSkinCommand的時候轉發由script中通過OnSkinCmd發送的消息:
1 LRESULT OnSkinCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 2 SendMessage(WM_COMMAND, wParam, lParam); 3 4 return 0; 5 }假設在你對應的xml中有一個button按鈕,在script中添加了對應的處理函數:
1 function btnClick::onClick(cx, cy) { 2 Window.OnSkinCmd(100, 0); 3 }在你的任意頭文件中定義btnClick的標識,比如:
#define IDC_BTNCLICK 100在消息映射中添加一個COMMAND_ID_HANDLER:
COMMAND_ID_HANDLER(IDC_BTNCLICK, OnBtnClickClick)這樣你原來基于ATL編寫的消息處理器依然可以被繼續使用,而UI的技術就可以嘗試使用DirectUI。
總結
以上是生活随笔為你收集整理的基于DirectUI搭建Windows窗体程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像领域深度学习的七个境界
- 下一篇: Windows中CMD启动应用