• <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);

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 久久久久久久免费视频| 永久免费无码网站在线观看| 亚洲成aⅴ人片在线影院八| 亚洲欧美日韩一区二区三区在线| 日韩午夜免费视频| 亚洲国产人成在线观看| 国产大片免费观看中文字幕| 亚洲精品无码中文久久字幕| 亚洲中文字幕无码久久精品1| 91久久精品国产免费一区| 亚洲精品国产高清在线观看| 97热久久免费频精品99| 日本视频免费观看| 亚洲精品国精品久久99热| 99ee6热久久免费精品6| 亚洲成人一级电影| 亚洲日韩精品无码专区网站| 99精品视频在线观看免费专区| 国内成人精品亚洲日本语音| 亚洲伊人久久大香线蕉苏妲己| 日本高清高色视频免费| 亚洲欧美日韩综合久久久久| 亚洲AV日韩精品久久久久久 | 亚洲国产精品成人久久久| 免费在线观看黄网站| 国产成人精品免费大全| 亚洲精品夜夜夜妓女网| 久久成人免费播放网站| 国产精品久久亚洲一区二区| 亚洲成人黄色在线观看| 亚洲产国偷V产偷V自拍色戒| 国产黄色片在线免费观看| 最近中文字幕电影大全免费版| 精品国产污污免费网站入口在线| 亚洲AV无码成人精品区蜜桃| 免费人成网站在线播放| 永久免费观看的毛片的网站| 最近在线2018视频免费观看| 亚洲精品乱码久久久久久蜜桃图片| 亚洲成在人天堂一区二区| 中文字幕日韩亚洲|