• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:win10系統下載站 > 技術開發教程 > 詳細頁面

        讓動態創建的ActiveX控件響應Windows消息

        讓動態創建的ActiveX控件響應Windows消息

        更新時間:2019-04-27 文章作者:未知 信息來源:網絡 閱讀次數:

        當我們通過CWnd::CreateControl()動態創建ActiveX控件時,Windows消息并不會被發送給我們的由CWnd派生得控件類。例如,即使我們為WM_KILLFOCUS消息創建了句柄,這個句柄也是不會被調用的。(不信你試試 :))

        引起這個問題的原因時,CWnd::CreateControl()并不會使我控件的HWND子類化。

        知道了原因,要解決問題就不難了。我們只要在控件創建之后使它子類化就行了。通過一下步驟可以實現:

        1.當然是添加控件啦,先生成控件的C++包容類。

        2.再要創建控件的類中聲明成員變量,此成員變量是包容類的指針對象。

        3.在包容類的頭文件中添加:

        //{{AFX_MSG(CMyClass)
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()

        CMyClass是實際的類名。

        4.在包容類的CPP文件的#include段下面添加:

        BEGIN_MESSAGE_MAP(CMyClass, CWnd)
            //{{AFX_MSG_MAP(CMyClass)
            //}}AFX_MSG_MAP
        END_MESSAGE_MAP()

        5.刪除工程目錄下的.clw文件,在工程中打開ClassWizard,先選yes,在選Add All。

        6.現在你就可以使用ClassWizard為控件包容類添加消息映射和處理函數了。

        完成這些修改后,你必須創建控件并且使它子類化,下面是個例子:

        void CSDIApp2View::OnInitialUpdate()
        {
        CView::OnInitialUpdate();

        m_pFlexGrid = new CMSFlexGrid;

        CRect rect;
        GetClientRect(&rect);
        m_pFlexGrid->Create(NULL, WS_CHILD | WS_VISIBLE, rect, this, IDC_FLEXGRID);
        HWND hWnd = m_pFlexGrid->Detach();
        m_pFlexGrid->SubclassWindow(hWnd);

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产黄片不卡免费| 特黄特色大片免费| 欧洲精品99毛片免费高清观看| 免费大黄网站在线观| MM1313亚洲国产精品| 国产女高清在线看免费观看 | 91精品导航在线网址免费| 亚洲国产精品久久久天堂| 你是我的城池营垒免费看 | 青草草在线视频永久免费| 国产精品亚洲精品| 在线免费观看a级片| 久久亚洲精品无码网站| 国产99视频精品免费视频7| 美女黄色免费网站| 亚洲欧洲中文日韩久久AV乱码| 一级毛片视频免费| 亚洲va中文字幕无码久久不卡| 3344免费播放观看视频| 亚洲性线免费观看视频成熟| 免费黄色app网站| 特级毛片aaaa免费观看| 亚洲精品乱码久久久久久久久久久久 | 又粗又大又黑又长的免费视频| 亚洲一区二区三区在线| 日本视频免费在线| www永久免费视频| 亚洲视频在线观看免费| 天天天欲色欲色WWW免费| 特级毛片全部免费播放| 亚洲AV永久精品爱情岛论坛| 国产91色综合久久免费分享| 久久久久亚洲精品无码网址色欲| 国产国拍亚洲精品福利 | 亚洲黄色在线视频| 日本成人免费在线| 手机看片国产免费永久| 国产成人精品亚洲2020| 亚洲日本一区二区三区在线| 国产精品色拉拉免费看| 日韩精品无码免费视频|