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

            一、顯示對(duì)話框

            1.顯示模式對(duì)話框:

            CDialogDemo dlg;
            dlg.DoModal();

            2.顯示非模式對(duì)話框:

            CDialogDemo *dlg=new CDialogDemo(this);
            dlg->Create(IDD_GENERAL_CONTROL);
            dlg->ShowWindow(SW_SHOW);


            二、關(guān)閉對(duì)話框

            1.CDialog::OnOK();   //確定按鈕按下         CDialog::OnCancel(); //取消按鈕被按下

            2.CDialog::DestoryWindow();  

            3.CDialog::EndDialog(0);  

            注:CDialog::CloseWindow();     僅僅是最小化對(duì)話框
            PostMessage(WM_CLOSE)


            三、在模態(tài)對(duì)話框類中關(guān)閉自身對(duì)話框
            可以在模態(tài)對(duì)話框類中通過PostMessage(WM_CLOSE)來關(guān)閉自身對(duì)話框。關(guān)閉MessageBox對(duì)話框后模態(tài)對(duì)話框隨之關(guān)閉。

            相關(guān)代碼如下:

             1 BOOL CImportDataPromptDialog::OnInitDialog()
             2 {
             3     CDialog::OnInitDialog();
             4 
             5     // TODO:  Add extra initialization here
             6     HANDLE hThread = StartImportDataThread();
             7     if (!hThread)
             8     {
             9         LOG("啟動(dòng)導(dǎo)入數(shù)據(jù)線程失敗")
            10     }
            11 
            12     return TRUE;  // return TRUE unless you set the focus to a control
            13     // EXCEPTION: OCX Property Pages should return FALSE
            14 }
            15 
            16 DWORD WINAPI CImportDataPromptDialog::ImportDataThread(LPVOID Param)
            17 {
            18     CImportDataPromptDialog* importDlg = (CImportDataPromptDialog*)Param;
            19 
            20     if (CImportLog::ExtractionXMLData(importDlg->m_sXmlFilePath, importDlg->m_sDBPath))
            21     {
            22         importDlg->MessageBox("導(dǎo)入數(shù)據(jù)成功","平臺(tái)", MB_ICONINFORMATION);
            23         importDlg->PostMessage(WM_CLOSE);
            24     }
            25     else
            26     {
            27         importDlg->MessageBox("導(dǎo)入數(shù)據(jù)失敗","平臺(tái)", MB_ICONEXCLAMATION);
            28         importDlg->PostMessage(WM_CLOSE);
            29     }
            30     
            31     return 0;
            32 }
            33 
            34 HANDLE CImportDataPromptDialog::StartImportDataThread()
            35 {
            36     LOG("啟動(dòng)導(dǎo)入數(shù)據(jù)線程");
            37     CWinThread* hThread = AfxBeginThread((AFX_THREADPROC)CImportDataPromptDialog::ImportDataThread,(LPVOID)this);
            38 
            39     return (hThread->m_hThread);
            40 }


            相關(guān)函數(shù)詳解:

            CloseWindow 
            函數(shù)功能:該函數(shù)最小化指定的窗口,但并不銷毀該窗口。
              函數(shù)原型:BOOL CloseWindow(HWND hWnd);
              參數(shù):
              hWnd:將要最小化的窗口的句柄。
              返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
              備注:窗口尺寸被最小化成一個(gè)圖標(biāo),并移動(dòng)到屏幕的圖標(biāo)區(qū)域。系統(tǒng)顯示窗口的圖標(biāo)而不顯示窗口,并在圖標(biāo)下顯示窗口標(biāo)題。應(yīng)用程序必須使用DestroyWindow函數(shù)銷毀窗口。

            DestroyWindow  
            函數(shù)功能:銷毀指定的窗口。這個(gè)函數(shù)通過發(fā)送WM_DESTROY 消息和 WM_NCDESTROY 消息使窗口無效并移除其鍵盤焦點(diǎn)。這個(gè)函數(shù)還銷毀窗口的菜單,清空線程的消息隊(duì)列,銷毀與窗口過程相關(guān)的定時(shí)器,解除窗口對(duì)剪貼板的擁有權(quán),打斷剪貼板器的查看鏈。
              函數(shù)原型:BOOL DestroyWindow( HWND hWnd // handle to window to destroy);
              hWnd :將被銷毀的窗口的句柄。
              返回值:如果函數(shù)成功,返回值為非零:如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
              備注:一個(gè)線程不能使用本函數(shù)銷毀別的線程創(chuàng)建的窗口。如果這個(gè)窗口是一個(gè)不具有WS_EX_NOPARENTNOTIFY 樣式的子窗口,則銷毀窗口時(shí)將發(fā)WM_PARENTNOTIFY 消息給其父窗口。
              Windows CE: 本函數(shù)將不發(fā)送 WM_NCDESTROY 消息.

            EndDialog  
            函數(shù)功能:該函數(shù)清除一個(gè)模態(tài)對(duì)話框,并使系統(tǒng)中止對(duì)對(duì)話框的任何處理。
              函數(shù)原型:BOOL EndDialog(HWND hDlg,int nResult);
              參數(shù):
              hDlg:表示要被清除的對(duì)話框窗口。
              NResult:指定從創(chuàng)建對(duì)話框函數(shù)返回到應(yīng)用程序的值。
              返回值:如果函數(shù)調(diào)用成功,則返回值為非零值;如果函數(shù)調(diào)用失敗則返回值為零。若想獲得錯(cuò)誤信息請(qǐng)調(diào)用GetLastError函數(shù)。
              備注:由DialogBox,DialogBoxParam、DialogBoxlndirect和DialogBoxlndirectParam函數(shù)創(chuàng)建的對(duì)話框一定要用EndDialog函數(shù)來清除。應(yīng)用程序從對(duì)話框應(yīng)用程序內(nèi)部調(diào)用EndDialog函數(shù),該函數(shù)不能為其他目的而供使用。對(duì)話框應(yīng)用程序可以在任何時(shí)間調(diào)用EndDialog函數(shù);甚至在WM_INITDIALOG消息處理過程中。如果應(yīng)用程序在WM_INTDIALOG消息處理過程中調(diào)用該函數(shù),則對(duì)話框在顯示和輸入焦點(diǎn)被設(shè)置之前對(duì)話框被清除。EndDialog函數(shù)并不立即清除對(duì)話框。而是設(shè)置一個(gè)標(biāo)志,并且允許對(duì)話框應(yīng)用程序把控制權(quán)返回系統(tǒng)。系統(tǒng)在試圖從應(yīng)用程序隊(duì)列檢索下一個(gè)消息之前檢測(cè)標(biāo)志。如果已經(jīng)設(shè)置了標(biāo)志則系統(tǒng)中止消息循環(huán),清除對(duì)話框,且用nResUlt中的值作為從創(chuàng)建對(duì)話框的函數(shù)中返回的值。


            本文相關(guān)鏈接:http://blog.csdn.net/bbrsher/article/details/6088108

            posted on 2012-09-05 14:44 王海光 閱讀(9838) 評(píng)論(0)  編輯 收藏 引用 所屬分類: MFC
            国产A级毛片久久久精品毛片| 久久天天躁狠狠躁夜夜96流白浆| 日本一区精品久久久久影院| 四虎国产永久免费久久| 久久人人爽人人爽人人片AV麻豆| 久久人人爽人人爽AV片| 亚洲AV日韩精品久久久久久久 | 国产精品久久久久久一区二区三区 | 国产三级久久久精品麻豆三级 | 国产成人无码久久久精品一| 久久精品国内一区二区三区| 日本精品久久久久久久久免费| 亚洲精品无码久久久久久| 久久这里只精品国产99热| 久久人人爽人人人人片av| 四虎国产永久免费久久| 伊人久久大香线蕉av一区| 久久影院亚洲一区| 精品久久久久久亚洲精品| 亚洲精品无码久久久久AV麻豆| 91精品国产综合久久婷婷| 97香蕉久久夜色精品国产| 婷婷久久综合九色综合98| 久久精品国产亚洲AV无码娇色| 亚洲午夜精品久久久久久app| 伊人久久免费视频| 精品久久久久久无码专区不卡| 97久久国产露脸精品国产| 麻豆精品久久久久久久99蜜桃| 国产免费久久精品99久久| 精品久久久久久中文字幕| 国产综合久久久久久鬼色| 久久精品www人人爽人人| 中文字幕久久波多野结衣av| 亚洲精品NV久久久久久久久久| 久久五月精品中文字幕| 香蕉99久久国产综合精品宅男自| 久久99精品国产麻豆婷婷| 国产精品va久久久久久久| 久久www免费人成精品香蕉| 久久本道久久综合伊人|