• <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 李陽 閱讀(647) 評論(0)  編輯 收藏 引用 所屬分類: C++
            天天爽天天狠久久久综合麻豆| 精品久久久久香蕉网| 久久99精品久久久久久齐齐| 激情久久久久久久久久| 亚洲国产成人精品91久久久| 无码人妻精品一区二区三区久久 | 国产免费久久久久久无码| 尹人香蕉久久99天天拍| 精品免费tv久久久久久久| 思思久久99热只有频精品66| 香蕉久久一区二区不卡无毒影院| 日日狠狠久久偷偷色综合免费| 狠狠88综合久久久久综合网| 亚洲午夜无码AV毛片久久| 狠色狠色狠狠色综合久久| 精品久久亚洲中文无码| 亚洲人成无码久久电影网站| 国产综合成人久久大片91| 九九久久99综合一区二区| 久久综合精品国产二区无码| 亚洲国产成人久久笫一页| 久久精品亚洲男人的天堂| 99国产欧美久久久精品蜜芽| 精品久久人人爽天天玩人人妻| 亚洲精品99久久久久中文字幕| 国产69精品久久久久99| 一本久久久久久久| 中文字幕亚洲综合久久2| 91精品观看91久久久久久| 久久99久久99小草精品免视看| 99久久精品国内| 久久香蕉国产线看观看99| 久久亚洲高清观看| 国产一区二区精品久久岳| 国产精品久久久久久久久久免费| 久久综合狠狠综合久久激情 | 久久免费国产精品一区二区| 久久精品一区二区三区不卡| 国产精品内射久久久久欢欢| 久久噜噜久久久精品66| 色婷婷久久久SWAG精品|