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

            saga's blog

            突出重點,系統全面,不留死角

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              33 Posts :: 2 Stories :: 185 Comments :: 0 Trackbacks

            公告

            QQ:34O859O5

            常用鏈接

            留言簿(15)

            搜索

            •  

            積分與排名

            • 積分 - 210877
            • 排名 - 122

            最新評論

            閱讀排行榜

            評論排行榜

            vc6,建立MFC對話框程序,主窗口的InitInstance()里面,運行SDK的API函數MessageBox(),都無法看見彈出的窗口。如:
            BOOL CMyText::InitInstance()
            {
            #ifdef _AFXDLL
                      Enable3dControls();   // Call this when using MFC in a shared DLL
            #else
                      Enable3dControlsStatic(); // Call this when linking to MFC statically
            #endif

                      CMyTextDlg dlg;
                      m_pMainWnd = &dlg;
                      int nResponse = dlg.DoModal();
                      if (nResponse == IDOK)
                      {
                                // TODO: Place code here to handle when the dialog is
                                //  dismissed with OK
                        }
                      else if (nResponse == IDCANCEL)
                      {
                       // TODO: Place code here to handle when the dialog is
                       //  dismissed with Cancel
                       MessageBox(NULL,"haha","aa",MB_OK);   //不會出現
                      }

                      // Since the dialog has been closed, return FALSE so that we exit the
                      //  application, rather than start the application's message pump.
                      return FALSE;
                     }

            上例中的MessageBox(),運行時一跳而過,看不見窗口。聽的減彈出窗口的聲音。不知道為什么,網上有人提出分析這樣的問題。其他窗口也無法生成。但是不知為何。一種解決方法是注釋掉m_pMainWnd = &dlg;這句即可正常。我試了,的確如此!

            那位高手或知之者路過請解答!謝謝!

                                                                                                                       ---------------------saga.constantine
                                                                                                                                         

            posted on 2007-12-06 20:37 saga.constantine 閱讀(5985) 評論(10)  編輯 收藏 引用 所屬分類: Code

            Feedback

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 09:34 萬連文
            是不是放了richedit之類的東西拉???????斷點設在dlg的構造函數和OnCreate函數里面跟蹤,一直到mfc的src中去,你會發現學習到很多東西。  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點![未登錄] 2007-12-07 09:56 saga.constantine
            @連文
            沒有放richedit之類的東西啊!
            謝謝連文兄的建議!
            有空我會進去看看。感覺現在還沒這個能力。現在主要不是學mfc!  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 11:02 夢在天涯
            應該是跟你的model dialg有關把,可能dialog的cancel消息的時候,他已經delete了dialog,所以依附與dialog上的model dialog當然也要完了!  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點![未登錄] 2007-12-07 14:01 saga.constantine
            @天涯兄
            我用的是sdk的api。MessageBox()不需要依附什么吧!第一個參數用NULL!網上很多人也遇到這個問題。
            我苦與沒找到正解,難道只能告訴自己是MFC的bug。
            還請連文兄和天涯兄研究賜教!  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 15:28 mfc dialog
            這個解釋的話說來話長啦,我寫了個篇blog試圖解釋下,你過去看看有沒有道理:http://www.codediscuss.com/mfc/mfc-dialog-initinstance/
            歡迎斧正!  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 15:54 dreamaker
            MessageBox在主對話框銷毀之后就沒了.
            用afxmessagebox好像可以.
              回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 16:13 萬連文
            起初沒有看明白你的問題抱歉!
            m_pMainWnd = &dlg;屏蔽會出現的原因在于:
            void CWnd::OnNcDestroy()

            其中:
            if (pThread != NULL)
            {
            if (pThread->m_pMainWnd == this)
            {
            if (!afxContextIsDLL)
            {
            // shut down current thread if possible
            if (pThread != AfxGetApp() || AfxOleCanExitApp())
            AfxPostQuitMessage(0);
            }
            pThread->m_pMainWnd = NULL;
            }
            if (pThread->m_pActiveWnd == this)
            pThread->m_pActiveWnd = NULL;
            }

            也就是上面那個鏈接里面提到的。  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-07 16:53 saga.constantine
            真沒想到昨天晚上發的問 今天就可以看到答案
            看來還是有很多熱心人的,真是感謝!
            自己看了下,雖然是沒有全懂,但是我知道該去了解那方面的知識來弄清楚這個問題。

            連文兄謝謝了。
            還有那位不知道怎么稱呼的,還專門寫了篇blog解釋這個問題的大俠。也謝謝。

            dreamaker兄恐怕是還沒搞清楚問題和答案,要需要加油。  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2007-12-18 22:39 giscn
            若干年前就碰到過這個問題,不過沒有深究,談談其他的,MFC對Windows的消息封裝太多,連model 對話框都是用Modeless 來模擬,自成體系,但是讓你不容易搞清楚Windows的消息循環與機制,還是WTL接近API一些。是麻煩點,但是熟悉之后對問題的定位反而容易一些。  回復  更多評論
              

            # re: [請教]MFC建立的對話框程序在主窗口InitInstance()函數里面無法建立窗口原因,請高手指點! 2008-09-17 22:38 perfect
            MessageBox是依賴于對話框存在的,也就是對話框結束,他的生存周期終止,所以會迅速消失掉。  回復  更多評論
              

            精品乱码久久久久久久| 91麻精品国产91久久久久| 日本久久中文字幕| 久久伊人亚洲AV无码网站| 亚洲午夜精品久久久久久浪潮| 99精品国产综合久久久久五月天| 中文字幕人妻色偷偷久久| 久久国产成人精品麻豆| 欧洲性大片xxxxx久久久| 久久久无码精品亚洲日韩京东传媒| 久久久久久无码Av成人影院| 日日狠狠久久偷偷色综合免费| 亚洲精品乱码久久久久久久久久久久| 91久久福利国产成人精品| 无码任你躁久久久久久| 免费国产99久久久香蕉| 熟妇人妻久久中文字幕| 欧美色综合久久久久久| 狠狠精品干练久久久无码中文字幕| 一本一本久久a久久精品综合麻豆| 99国产精品久久| 亚洲中文久久精品无码| 午夜视频久久久久一区| 日本福利片国产午夜久久| 精品久久久久久成人AV| 无码精品久久久天天影视| 久久强奷乱码老熟女网站| 国产精品午夜久久| 国产A级毛片久久久精品毛片| 国产精品久久久久久吹潮| 亚洲va久久久噜噜噜久久狠狠 | 99久久人人爽亚洲精品美女| 一本色道久久88精品综合| 区久久AAA片69亚洲| 久久综合给合综合久久| 久久精品免费大片国产大片| 99久久国产综合精品成人影院| 精品久久久久久亚洲| 国产精品美女久久久| 久久综合久久久| Xx性欧美肥妇精品久久久久久|