• <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>
            隨筆-4  評論-40  文章-117  trackbacks-0
            非模態對話框


            用MFC可以創建非模態的對話框,只是創建方式不同,模態對話框用 dlg.DoModel()調用,而非模態對話框要用create函數創建調用。
            /*假設IDD_TEST_DLG為已經定義的對話框資源的ID號*/

            CTestDlg *dlg=new CTestDlg;
            dlg->Create(IDD_TEST_DLG,NULL);
            dlg->ShowWindows(SW_SHOW);
            在上面的代碼中我們新生成了一個對話框對象,而且在退出函數時并沒有銷毀該對象。因為如果此時銷毀該對象(對象被銷毀時窗口同時被銷毀),而此時對話框還在顯示就會出現錯誤。那么這就提出了一個問題:什么時候銷毀該對象。可以用如下方法:

            在對話框退出時銷毀自己:在對話框中重載OnOK與OnCancel在函數中調用父類的同名函數,然后調用DestroyWindow()強制銷毀窗口,在對話框中映射WM_DESTROY消息,在消息處理函數中調用delete this;強行刪除自身對象。相關代碼如下:
            void CTestDlg1::OnOK()
            {
            CDialog::OnOK();
            DestroyWindow();
            }

            void CTestDlg1::OnCancel()
            {
            CDialog::OnCancel();
            DestroyWindow();
            }

            void CTestDlg1::OnDestroy()
            {
            CDialog::OnDestroy();
               delete this;
            }

            posted on 2008-03-04 17:27 李陽 閱讀(644) 評論(0)  編輯 收藏 引用 所屬分類: C++
            精品久久久无码人妻中文字幕 | 97久久国产综合精品女不卡| 无码任你躁久久久久久| 久久精品无码一区二区WWW| 午夜精品久久久久久久久| 久久久久久免费一区二区三区 | 久久久久久久97| 99久久精品影院老鸭窝| 久久久久一本毛久久久| 99久久人妻无码精品系列| 深夜久久AAAAA级毛片免费看| 色婷婷综合久久久中文字幕| 91亚洲国产成人久久精品| 伊人久久大香线焦AV综合影院| 亚洲精品高清国产一久久| 熟妇人妻久久中文字幕| 亚洲国产成人久久精品99| 狠色狠色狠狠色综合久久| 热re99久久6国产精品免费| 热久久国产欧美一区二区精品| 99久久精品日本一区二区免费| 久久久久久久波多野结衣高潮| a级毛片无码兔费真人久久| 精品永久久福利一区二区| 久久久久亚洲精品日久生情| 国产精品久久久久久久午夜片| 婷婷国产天堂久久综合五月| 91精品国产91热久久久久福利 | 亚洲中文久久精品无码ww16 | 久久久久免费看成人影片| 久久精品国产精品亚洲精品| 久久久久无码专区亚洲av| 国产99久久久国产精免费| 999久久久国产精品| 国产亚洲精久久久久久无码AV| 国产成人久久精品区一区二区| 久久婷婷五月综合97色| 精品久久久久久| 国产91久久综合| 色欲综合久久躁天天躁| 日韩人妻无码一区二区三区久久99|