• <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>
            隨筆-59  評(píng)論-36  文章-0  trackbacks-0

            本文簡(jiǎn)單介紹一下VC中基于對(duì)話框的程序啟動(dòng)后的自動(dòng)隱藏技術(shù)。

            有的程序需要在啟動(dòng)后立即隱藏主窗口,只在系統(tǒng)托盤(pán)區(qū)域顯示一個(gè)圖標(biāo),這常見(jiàn)于很多后臺(tái)服務(wù)程序。對(duì)于基于對(duì)話框的程序,要實(shí)現(xiàn)此功能需要一點(diǎn)技巧。

                該技術(shù)的關(guān)鍵點(diǎn)在于,需要使用非模態(tài)對(duì)話框,而不是默認(rèn)的模態(tài)對(duì)話框。模態(tài)對(duì)話框的DoModal()事實(shí)上執(zhí)行了對(duì)話框的創(chuàng)建、顯示、消息循環(huán)等一系列過(guò)程。我們這里要做的就是把這個(gè)過(guò)程重現(xiàn),并控制中間的顯示過(guò)程來(lái)達(dá)到我們隱藏主窗口的目的。現(xiàn)實(shí)起來(lái)非常簡(jiǎn)單,我們只需要把CXXXApp中的InitInstance()函數(shù)中默認(rèn)的對(duì)話框顯示代碼:

            BOOL CXXXApp::InitInstance()
            {
                
            //  其它代碼

                
            // 主窗口對(duì)話框?qū)嵗?/span>
                CXXXDlg dlg;
                m_pMainWnd 
            = &dlg;

                
            // 模態(tài)對(duì)話框
                dlg.DoModal();


                
            return FALSE;
            }

            改變?yōu)槿缦麓a即可,其它地方的代碼完全不用修改:

            BOOL CXXXApp::InitInstance()
            {
                
            //  其它代碼

                
            // 主窗口對(duì)話框?qū)嵗?/span>
                CXXXDlg dlg;
                m_pMainWnd 
            = &dlg;

                
            // 非模態(tài)對(duì)話框
                dlg.Create(CXXXDlg::IDD); 
                dlg.DoSomethingBeforeMsgLoop(); 
            // 可以在此函數(shù)隱藏窗口及執(zhí)行其它操作
                dlg.RunModalLoop();

                
            return FALSE;
            }

            在上面的代碼中,可以在DoSomethingBeforeMsgLoop()函數(shù)中使用ShowWindow()來(lái)隱藏窗口,同時(shí)還可以執(zhí)行其它一些操作,也可以直接在DoSomethingBeforeMsgLoop()函數(shù)調(diào)用處調(diào)用ShowWindow()函數(shù)來(lái)隱藏窗口。

                也有人提出了其它方法。比如仍然使用模態(tài)對(duì)話框,但使用計(jì)數(shù)器設(shè)定很短一個(gè)時(shí)間來(lái)觸發(fā)事件,并在處理該計(jì)數(shù)器事件中隱藏窗口。該方法可行,但太麻煩,沒(méi)有上面的方法方便。

            posted on 2010-01-26 22:33 zhaoyg 閱讀(1460) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): MFC學(xué)習(xí)筆記
            久久涩综合| 国内精品久久久久影院薰衣草 | 97久久久久人妻精品专区 | 人人狠狠综合久久亚洲| 无码任你躁久久久久久老妇| 国产亚洲精午夜久久久久久| 久久综合伊人77777| 一本一本久久aa综合精品| 久久精品亚洲中文字幕无码麻豆| 亚洲国产精品婷婷久久| 久久91精品国产91| 久久综合给合久久狠狠狠97色| 99久久99久久精品国产片| 亚洲精品成人网久久久久久| 国内精品久久国产大陆| 午夜精品久久久久9999高清| 久久国产免费直播| 亚洲?V乱码久久精品蜜桃 | 久久久精品久久久久特色影视| 久久久久成人精品无码中文字幕| 办公室久久精品| 91久久精品国产成人久久| 久久久久久毛片免费看| 亚洲精品无码久久一线| 久久亚洲私人国产精品| 亚洲国产成人久久精品影视| 国产69精品久久久久观看软件 | 精品一区二区久久| 久久亚洲精品无码VA大香大香| 91久久成人免费| 精品久久久久久久久中文字幕| 18岁日韩内射颜射午夜久久成人| 欧美精品福利视频一区二区三区久久久精品| 久久久女人与动物群交毛片| 久久亚洲私人国产精品| 99久久99久久精品国产片果冻| 久久精品中文字幕大胸| 亚州日韩精品专区久久久| 久久久99精品一区二区| 久久久久国产精品嫩草影院 | 四虎国产精品免费久久久|