日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于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窗体程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。