• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對(duì)現(xiàn)實(shí),超越自己
            逆水行舟,不進(jìn)則退
            posts - 269,comments - 32,trackbacks - 0

            視圖類(lèi)調(diào)用非模態(tài)對(duì)話時(shí),如何銷(xiāo)毀分配的內(nèi)存

            簡(jiǎn)要步驟:

            1視圖類(lèi)在調(diào)用非模態(tài)對(duì)話框時(shí),將自身的指針傳遞給非模態(tài)對(duì)話框。
            2當(dāng)非模態(tài)對(duì)話框結(jié)束時(shí),向視圖類(lèi)發(fā)送自定義消息,由自定義消息處理函數(shù)來(lái)釋放內(nèi)存。

            具體代碼步驟:

            1定義自定義消息  #define WM_RELEASEPLAYSOUNDDC (WM_USER+1001)
            2修改非模態(tài)對(duì)話框類(lèi)的構(gòu)造函數(shù),便于將視圖指針傳遞進(jìn)去。

            非模態(tài)對(duì)話框.h文件中

            class CTestDialog : public CDialog
            {
                DECLARE_DYNAMIC(CPlaySound)

            public:
                //CTestDialog (CWnd* pParent = NULL);   // standard constructor
                CTestDialog (CView* pParent);   // standard constructor
                virtual ~CTestDialog ();
                CView *pView;

            // Dialog Data
                enum { IDD = IDD_TEST_DIALOG };

            protected:
                virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

                DECLARE_MESSAGE_MAP()
            public:
                virtual BOOL OnInitDialog();
                afx_msg LRESULT OnNcHitTest(CPoint point);

            };

            非模態(tài)對(duì)話框.cpp文件中

            IMPLEMENT_DYNAMIC(CTestDialog, CDialog)
            //CTestDialog::CTestDialog(CWnd* pParent /*=NULL*/)
            CTestDialog::CTestDialog(CView* pParent)
                : CDialog(CTestDialog::IDD, pParent)
            {
                pView = pParent;
            }

            3、在非模態(tài)對(duì)話框結(jié)束的時(shí)候發(fā)送自定義消息
            void CTestDialog::OnBnClickedBtnClose()
            {
                // TODO: Add your control notification handler code here
                pView->PostMessage(WM_RELEASEPLAYSOUNDDC, 0, 0);
                OnOK();
            }

            4、在視圖類(lèi).h文件中,增加定義:
            afx_msg LRESULT OnReleaseDialog(WPARAM wparam,LPARAM lparam);

            5、在視圖類(lèi).cpp文件中,增加消息映射部分:
            ON_MESSAGE(WM_DIALOGOK,OnDialogOk)

            6、在視圖類(lèi).cpp文件中定義消息處理函數(shù)的實(shí)現(xiàn):

            LRESULT CTestView::OnReleaseDialog(WPARAM wparam,LPARAM lparam)
            {
                if (m_pPlaySound != NULL)
                {
                    delete m_pPlaySound;
                    m_pPlaySound = NULL;
                }

                return 0;
            }
            posted on 2014-03-07 15:01 王海光 閱讀(1767) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): MFC
            久久久久久久久66精品片| 中文字幕热久久久久久久| 精品无码久久久久久久久久| 国产成人精品久久亚洲高清不卡| 久久99精品免费一区二区| 2021国产精品久久精品| 久久亚洲AV成人无码国产| 国产69精品久久久久9999| 香蕉久久夜色精品国产尤物 | 99久久精品国产一区二区蜜芽| 久久精品成人免费观看97| 亚洲精品乱码久久久久久久久久久久 | 色综合久久最新中文字幕| 午夜福利91久久福利| 97久久超碰国产精品旧版| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久午夜无码鲁丝片| 激情五月综合综合久久69| 久久亚洲精品成人AV| 少妇久久久久久被弄到高潮| 99久久成人国产精品免费| 狠狠色综合网站久久久久久久高清| 日韩亚洲欧美久久久www综合网| 亚洲精品乱码久久久久久中文字幕| 亚洲精品tv久久久久久久久久| 国产精品无码久久久久| 亚洲国产精品人久久| www.久久精品| 国产91色综合久久免费分享| 久久香综合精品久久伊人| 亚洲精品无码久久一线| 精品久久久中文字幕人妻| 国产精品久久久久久五月尺| 亚洲午夜无码AV毛片久久| 久久婷婷色综合一区二区| 精品久久久久中文字| 激情五月综合综合久久69| 四虎亚洲国产成人久久精品| 青青热久久国产久精品 | 亚洲欧洲中文日韩久久AV乱码| 久久国产影院|