91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對DirectUI 的初步理解

發布時間:2020-07-23 17:41:51 來源:網絡 閱讀:434 作者:Nowind0121 欄目:開發技術

  這個基本的封裝控件類,基于WinCE的,所以他的入口自然是int APIENTRY WinMain,首先是Creat,創建窗口,封裝的類包括

    1、SubClass   子類化窗口

    2、ShowModal   窗口模態化

    3、CPaintManagerUI   繪制管理者  這個類中封裝了很多UI的函數,比如GetClientSize,獲取工作區域的寬和高,MessageHandler寫了很多消息響應函數,對鼠標的操作, 等于自己重寫了幾乎所有的消息響應,另外很對地方用到了CControlUI

    4、CControlUI   控件類

  等等控件在原來MFC的基礎上封裝了,使用起來更加方便。

  如何使用呢,我們需要建一個WinCE工程,比如建立一個像360一樣的頁面,我們寫好XML文件后,接下來就是如何去解析了,我們需要通過Create函數建立窗口,而在這個函數中我們要將寫好的XML文件解析出來

tString tstrSkin = CPaintManagerUI::GetSkinPath() + _T("skin.xml");
  CControlUI* pRoot = builder.Create(tstrSkin.c_str(), (UINT)0,  &cb, &m_pm);  
  ASSERT(pRoot && _T("Failed to parse XML"));

這樣就可以了,然后通過消息函數響應WM_CREATE、WM_CLOSE、WM_DESTROY、WM_NCPAINT、WM_GETMINMAXINFO(重載最小化函數)、WM_SIZE(窗口變化函數)、WM_SYSCOMMAND、WM_NCACTIVATE、WM_NCCALCSIZE、WM_NCHITTEST,這些函數可以幫助我們解析XML上的控件,實現消息的對應。

   而在底層封裝的一些消息,我們通過 msg.sType == _T("click")的方式與之匹配,以下是封裝的消息

  1、“click” 屬于CButtonUI類,Activate()函數,實現判斷按鈕是否活躍,如活躍則發送通知

  2、“selectchanged” 屬于COptionUI類,Activate()函數,若復選框處于選中狀態,激活并發送通知

  3、“link” 屬于CTextUI,Event()函數,若鼠標彈起,發送link通知

  4、“valuechanged” 屬于CSliderUI,Event()函數,點擊滑塊彈起,發送通知

  5、“textchanged”屬于CEditUI,SetText()函數,設置文本時發送通知

  6、“itemselect”屬于CComboUI(組合控件),SelectItem()函數中響應WM_KEYDOWM,發送通知

  7、“itemselect”又屬于ClistUI(列表控件),SelectItem()函數中,發送通知

  8、“Headclick”屬于CListUI(列表控件),Event()函數中,鼠標按在列表頭的位置,發送通知

  9、“itemactivate”屬于CListElementUI(列表元素),Activate()函數中,雙擊時發送通知

  10、“itemclick”屬于CListLabelElementUI,Event()函數,單擊某一片區域,發送通知

  11、“windowinit”屬于CPaintManageUI,WM_PAINT消息中,第一次繪制時發送通知

  12、“setfocus”和“Killfocus”,屬于CPaintManageUI,獲取焦點和失去焦點

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇坪县| 榕江县| 卓尼县| 武清区| 兰溪市| 营口市| 隆子县| 台前县| 太原市| 奉节县| 博客| 石狮市| 崇信县| 龙州县| 化隆| 兴业县| 长治县| 连云港市| 平江县| 河西区| 涞源县| 乌审旗| 喀喇沁旗| 浦城县| 德安县| 汤原县| 岢岚县| 阿图什市| 芷江| 连平县| 珲春市| 岐山县| 云霄县| 尉犁县| 唐河县| 景德镇市| 突泉县| 昌邑市| 塘沽区| 通许县| 五原县|