日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Duilib教程-非DUI控件

發布時間:2024/4/11 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Duilib教程-非DUI控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的。其實包括:

1.EDIT.

它的實現原理是,CEditUI包含一個窗口CEditWnd,流程如下:

1)鼠標單擊,創建窗口見 EditUI.cpp第217行,在第223行有創建的代碼:

m_pWindow = new CEditWnd(); ASSERT(m_pWindow); m_pWindow->Init(this);

?

2)失去焦點時,刪除自己,見EditUI.cpp第103行和第131行,

LRESULT CEditWnd::OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {LRESULT lRes = ::DefWindowProc(m_hWnd, uMsg, wParam, lParam);PostMessage(WM_CLOSE);return lRes; }

在這里,我們也注意到了,它并沒有給父窗口發送 KillFocus消息,只是簡單地關閉自己。

2.RICHEDIT

這個控件稍復雜,我也沒仔細看,不過大概知道它是使用COM組件的東東,自己實現SCROLL_BAR。有興趣的同學可以研究一下。

3.COMBOBOX

這時的非DUI部分主要是指彈出來的下拉框,它是使用一個HWND,然后這個HWND使用DUI的方式進行實現。它的實現方式與EDIT類似。

這個控件也有BUG,就是,下拉框彈出來時,滾動鼠標滾輪時,下拉框就自動消失了,相當于它并不支持鼠標滾輪。

?

最后,當然嚴格說起來,FLASH、WEBBROWSER、ACTIVEX等控件都不屬于純DUI控件,不過實現難度實現太大,用現成的就好了。不過WEBBROWSER實在不應該使用微軟的WEBBROWSER控件,因為微軟的控件實在是弱爆了,對HTML各種不支持,包括CSS、JAVASCRIPT,更別提HTML5了。可以考慮將 WEBKIT或是火狐加入到里面來,如此的話,對WEB的支持是相當完美了。

?

PS:

最近一直在搞手機軟件,沒時間更新博客。

這里又在建房子,無意中把我網線砸斷了,上不了網,于是乎終于有時間寫博客了。

我換了電信的網絡,然后發現居然上不了Github了。

我換了WIN8.1的系統,然后發現居然裝不了VM了,還有一堆綠色軟件用不了了。

《論語》讀了一年半了都沒讀完,我勒了個去。。。

真是諸事不順啊。

總結

以上是生活随笔為你收集整理的Duilib教程-非DUI控件的全部內容,希望文章能夠幫你解決所遇到的問題。

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