a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

慎用CMFCToolBar::CreateEx

2023-06-09 12:08:09
字體:
供稿:網(wǎng)友

MFC Feature Pack/VC2008 SP1提供了新的控件,這包括以前需要花費(fèi)購買的控件,這些控件原來由BCG Soft 開發(fā),在VS2008發(fā)布后,被收入后以FeaturePack或SP1的方式發(fā)布(VS2008安裝包原本沒有此功能包,必須額外安裝)。對(duì)很多用戶來說,屬性列表控件、真彩色工具條、工具條、停靠欄、更換皮膚、標(biāo)簽式多文檔、智能停靠、個(gè)性化布局,還有Office、VS中眾多的的控件都包含在這個(gè)功能包中,這個(gè)SP1,是MFC控件庫在1998年發(fā)布后的首次重大更新,對(duì)于MFC程序員,值得體驗(yàn)。

  因?yàn)檫@些新的控件給開發(fā)帶來很多便利,我們使用了VS2008,但是這兩個(gè)月一直被一個(gè)問題所困擾,那就是CMFCToolBar。向?qū)?chuàng)建的項(xiàng)目,運(yùn)行得非常好,界面也很漂亮,還支持換膚,但是當(dāng)應(yīng)用程序添加第二個(gè)工具條時(shí),問題就出現(xiàn)了。

  我們添加第2個(gè)工具條的方法和示例代碼中的一樣,但出現(xiàn)了各種奇怪問題,癥狀表現(xiàn)為:

  1.最大化時(shí),兩個(gè)工具條是連接在一起的,但是左側(cè)工具條會(huì)自動(dòng)移動(dòng)一段距離;

  2.重啟應(yīng)用程序,界面依然是混亂的;

  3.重新啟動(dòng)程序,再退出后,偶爾有內(nèi)存泄露,未正常釋放的對(duì)象是工具套按鈕對(duì)象,具體原因不詳,跟蹤后發(fā)現(xiàn)泄露發(fā)生在LoadState時(shí)。

  如果退出程序后,把注冊(cè)表中此工程相關(guān)項(xiàng)刪除再啟動(dòng)程序,則界面正常,但是再重啟后,問題依舊。

  當(dāng)我找到解決問題的辦法時(shí),才后悔沒多看看SP1的Sample。以下是正確的創(chuàng)建第2個(gè)CMFCToolBar的方法,這里貼上缺省的m_wndToolBar的創(chuàng)建代碼,以便進(jìn)行比較。謝天謝地,這個(gè)問題還是解決了。由于時(shí)間有限,問題的原因到底出現(xiàn)在哪里,還不得而知,如果有朋友細(xì)細(xì)研究過,還望不吝賜教。

  if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME)) { TRACE0("未能創(chuàng)建工具欄/n"); return -1; // 未能創(chuàng)建 } if (!m_wndToolBarNew.Create(this, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,IDR_TOOLBAR1) || !m_wndToolBarNew.LoadToolBar( IDR_TOOLBAR1)) { TRACE0("未能創(chuàng)建工具欄/n"); return -1; // 未能創(chuàng)建 }

  SP1 Sample可以在以下位置找到:

  X:/Program Files/Microsoft Visual Studio 9.0/Samples/AllVCLanguageSamples.zip

  解壓后的路徑為:

  AllVCLanguageSamples/C++/MFC/Visual C++ 2008 Feature Pack

  也可以在這個(gè)位置下載到:

  http://www.microsoft.com/downloads/details.aspx?familyid=9761BB57-F066-4B70-9318-3965C5E68AAD&displaylang=en

  Keyword: Microsoft Visual C++ 2008 SP1 Sample Library

  SP1下載地址:

  http://msdn.microsoft.com/en-us/library/bb982354.aspx

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人免费看片 | 精产国产伦理一二三区 | 欧美成人免费观看 | 欧美日韩精品一区二区在线观看 | 热99这里只有精品 | 密室大逃脱第六季大神版在线观看 | 久久亚洲一区 | 97人人爽 | 人人插人人爽 | 在线看黄色片 | 一区二区中文字幕 | 色小妹三区 | 91在线看视频 | 欧美一级视频 | 日韩在线中文 | 亚洲国产aⅴ成人精品无吗 91精品国产一区二区 | 污网址在线看 | 欧美日韩一区二区视频在线观看 | 欧美一区二区三区在线观看 | 黄色成人免费看 | 日本精品一区二区三区视频 | 欧美一区二区三区四区在线观看 | 2021最新热播中文字幕-第1页-看片视频 亚洲第一男人天堂 | 色免费在线观看 | 国产99久久精品一区二区永久免费 | 亚洲欧美日韩另类精品一区二区三区 | 中文字幕av一区 | 日本高清视频在线观看 | 国产欧美一区二区视频 | 国产日韩一区二区 | 久久久久久久av | 逼逼av | 欧美黄色网 | 国产成人精品在线观看 | 精品一二区| 99精品欧美一区二区三区 | 999国产在线视频 | 久久久网 | 欧美激情自拍偷拍 | 一区二区精品视频 | 国产精品久久久av |