国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SubClassDlgItem

SubClass Dialog 上面的一個控件呀! 
SubClass 某個控件后,其原來的 WindowProc 替換成你自己寫的 CYourCWndClass 的 WindowProc,這樣你就可以處理這個控件的所有消息了;用 ClassWizard 維護自己的 CYourCWndClass 就可以了。

在MFC中除了SubClassDlgItem外還有SubclassWindow函數(shù)用來執(zhí)行同樣的功能。在與某個控件ID關(guān)聯(lián)起來之后,所有該控件的消息將會有該類來響應(yīng)。通常使用過程如下 
一、從希望Subclass的控件派生一個類例如從CEdit->CMyEdit; 
二、在CMyEdit中完成希望處理的消息,例如OnChar等; 
三、在對話框類中定義一個CMyEdit類的成員變量m_myEdit; 
四、在Dialog的OnInitDialog中加入m_myEdit(IDC_EDIT, this); 
這樣當(dāng)在IDC_EDIT上發(fā)生OnChar時,將會調(diào)用CMyEdit中的OnChar

補充一下,用一個窗口過程替換另一個過程的行為叫SUBCLASSING,這是WINDOWS意義上的派生子類,與面向?qū)ο笳Z言的派生子類是完全不同的概念。SubClassDlgItem讓對話框內(nèi)指定子控制自己的窗口過程替代默認(rèn)窗口過程,以攔截消息。

在VC 中,DoDataExchange函數(shù)中的DDX_Control之類的函數(shù)會調(diào)用SubClassDlgItem完成窗口子類化,這樣控件自己就能處理消息了。

BOOL SubclassDlgItem( UINT nID, CWnd* pParent );
參數(shù)nID是控件的ID,pParent是指向父窗口的指針.若連接成功則函數(shù)返回TRUE,否則返回FALSE.

綜上所述,要在程序中使用派生控件,應(yīng)該按下面兩步進行:

1、在對話框模板中放置好基類控件.
    2、在對話框類中嵌入派生控件類的對象.
    3、在OnInitDialog中調(diào)用SubclassDlgItem將派生類的控件對象與對話框中的基類控件相連接,則這個基類控件變成了派生控件.

例如,如果要在對話框中使用新設(shè)計的編輯框控件,應(yīng)先在對話框模板中的合適位置放置一個普通的編輯框,然后,在OnInitDialog函數(shù)中按下面的方式調(diào)用SubclassDlgItem即可:

BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
m_MyEdit.SubclassDlgItem(IDC_MYEDIT, this);
return TRUE;
}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC 位圖按鈕CBitmapButton的使用
MFC如何初始化子對話框ComboBox控件
新插入了一個對話框資源,我們需要為他重寫OnInitDialog()等函數(shù)
CStatic控件的基本使用
使用EasySize實現(xiàn)控件隨窗口的大小變化
對話框?qū)傩皂?VC
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服