• <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++
            99国产精品久久久久久久成人热| 色88久久久久高潮综合影院| 激情久久久久久久久久| 精品人妻伦九区久久AAA片69| 久久久久亚洲AV无码专区网站| 亚洲人成网站999久久久综合| A级毛片无码久久精品免费| 国产精品一久久香蕉国产线看| 久久久久无码中| www久久久天天com| 日韩久久无码免费毛片软件| 99久久er这里只有精品18| 欧洲性大片xxxxx久久久| 久久天天躁狠狠躁夜夜96流白浆| 久久精品中文字幕一区| 无码人妻精品一区二区三区久久 | 亚洲中文久久精品无码| 久久99精品久久久久久动态图| 久久精品中文字幕有码| 久久夜色精品国产亚洲| 亚洲精品国产字幕久久不卡| 久久综合日本熟妇| 免费国产99久久久香蕉| .精品久久久麻豆国产精品| 97久久国产综合精品女不卡| 亚洲va久久久久| 久久久久久亚洲精品无码| 国产成人无码精品久久久免费| 久久99精品国产麻豆| 久久精品国产亚洲av麻豆色欲 | 亚洲伊人久久成综合人影院 | 国产精品综合久久第一页| 久久99精品久久久久久动态图| 东方aⅴ免费观看久久av| 久久精品国产日本波多野结衣| 伊人久久无码精品中文字幕| 香蕉99久久国产综合精品宅男自 | 精品久久久久久久无码| 国产精品女同久久久久电影院 | 性色欲网站人妻丰满中文久久不卡| 伊人 久久 精品|