小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Duilib教程-非DUI控件

 牛人的尾巴 2017-01-06

Duilib教程-非DUI控件

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

1.EDIT.

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

1)鼠標(biāo)單擊,創(chuàng)建窗口見 EditUI.cpp第217行,在第223行有創(chuàng)建的代碼:

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

 

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

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

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

2.RICHEDIT

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

3.COMBOBOX

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

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

 

最后,當(dāng)然嚴(yán)格說起來,F(xiàn)LASH、WEBBROWSER、ACTIVEX等控件都不屬于純DUI控件,不過實現(xiàn)難度實現(xiàn)太大,用現(xiàn)成的就好了。不過WEBBROWSER實在不應(yīng)該使用微軟的WEBBROWSER控件,因為微軟的控件實在是弱爆了,對HTML各種不支持,包括CSS、JAVASCRIPT,更別提HTML5了??梢钥紤]將 WEBKIT或是火狐加入到里面來,如此的話,對WEB的支持是相當(dāng)完美了。

 

PS:

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

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

我換了電信的網(wǎng)絡(luò),然后發(fā)現(xiàn)居然上不了Github了。

我換了WIN8.1的系統(tǒng),然后發(fā)現(xiàn)居然裝不了VM了,還有一堆綠色軟件用不了了。

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

真是諸事不順啊。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多