青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 311, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
 上次給大家介紹了Visual C++ 2008 的Feature Pack的界面庫新特性。今天給大家介紹一下,怎樣用Feature Pack把您現有的Visual C++ 程序界面修改得漂亮些。

      所需的修改環境:
      Visual C++ 2008  (Team Suite版Express版都可以,但必須是英文版,否則Feature Pack不支持)
      正確的安裝了Visual C++ 2008 Feature Pack beta
      您要修改的Visual C++ 的程序源代碼工程

      具備了以上三點就可以開始進行修改操作了。但是有一點提請注意,那就是您程序中是否用到了MS C++ 9.0 編譯器不再支持的語法特性?如果有,那很不幸,我個人不推薦您升級您的程序界面,畢竟程序運行的穩定性才是最重要的。為了漂亮的界面修改已經測試過并穩定運行的代碼,可不是一個明智的選擇。

      下面我就用一個Visual C++的入門Demo Scribble 來修改。這個Scribble您可以在MSDN網站上下載到,但請您注意,我給出的這個下載工程是VS2005 for x64的。下載后,您需要進行以下改動:
       1) 將Scribble工程屬性中,C/C++編譯器的Treat Warnings as error 關閉,否則您的工程將會因為一個Warning沒有解決,導致整個程序編譯失敗。如圖:
        

      2) 編譯時,將Target 改為Win32;

      羅嗦了這么多,開始修改吧!

      第一步: 請確定CScribbleApp::InitialInstance() 方法中已經調用了AfxOleInit();
      第二步: 在stdafx.h文件中加入 #include"afxcontrolbars.h" ,這頭文件包含了Feature Pack新增的界面類聲明;
      第三步:修改CScribbleApp類繼承的父類,由CWinApp改為CWinAppEx;這個CWinAppEx類比CWinApp添加了很多的功能,說個簡單的,CWinAppEx提供了一個SetRegistryBase方法,這個方法可以用來設定當前App所使用的注冊表的根。
      第四步:修改主框架類,將CMainFrame的父類由CMDIFrameWnd改為CMDIFrameWndEx;這個修改設計到類聲明、IMPLEMENT_DYNAMIC宏、MESSAGE_MAP宏、OnCreate函數等調用到靜態方法的地方、以及其它等等。最好是直接用Replace all文本替換掉;
      第五步:將CMDIChildWnd類替換為CMDIChildWndEx,主框架換了,子窗體也要換;
      第六步:替換CTooBar為CMFCTooBar,替換CStatusBar為CMFCStatusBar;就是修改一下m_wndStatusBar和m_wndToolBar兩個變量的聲明處;
      第七步:替換CMainFrame::OnCreate()函數中m_wndToolBar 和m_wndStatusBar停靠的相關代碼;將Set/Get BarStyle改為Set/Get PaneStyle 也是文本替換一下,很簡單。將DockControlBar(&m_wndStatusBar);改為DockPane(&m_wndStatusBar);
      完成以上七步,基本改造就算完成了。但是如果您現在編譯您的程序,您會發現Scribble界面基本上沒有任何改變。下面的才是更重要的,我們要添加RibbonBar了:

      第一步:在CMainFrame類中聲明一個CMFCRibbonBar類型的變量m_wndRibbonBar。這個變量就代表Office2007界面里面那個替代了菜單的東東;
      第二步:在CMainFrame類中聲明一個CMFCRibbonApplicationButton的變量m_MainButton。這個變量代表了Office2007界面左上角那個Home按鈕;
      第三步:在CMainFrame::OnCreate函數中添加代碼。首先是創建RibbonBar對象,老規矩:
      if(!m_wndRibbonBar.Create(this))
      {
          return -1;
      }
      第四步:設定m_MainButton對象:
      m_MainButton.SetImage(……);   //設定圖標
      m_MainButton.SetToolTipText(……); //設定提示文本
      m_MainButton.SetText(……);   //設定按鈕文本
      第五步:在CMainFrame::OnCreate函數中添加代碼,通過RibbonBar對象添加一個Category:
      CMFCRibbonMainPanel *pMainPanel = m_wndRibbonBar.AddMainCategory(_T("File"));
      這實際上就類似于創建了一個名為File的主菜單項;
      第六步:給這個Panel添加按鈕(其實就是子菜單項):
      pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN,_T("打開")));
      ……
      第七步:
      在CMainFrame::OnCreate()函數的最后部分,添加代碼設定當前界面的風格:
      CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
      CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007Luna_Blue);
      代碼的第一行用來設定可視化管理器為Office2007類型,可供選擇的還有OfficXP、Office2003、VS2005 三種,換句話說,我們可以將我們的程序界面修改為Office2007、Office2003、OfficeXP、VS2005四種風格;
      代碼的第二行用來設定Office2007界面的色調;
      完成以上步驟后,就可以編譯運行啦,看看界面是不是改變了呢?
      修改前:
      

      修改后:
      

      我沒有找到比較好看的圖標,也沒有把菜單都實現出來,僅僅是作為一個演示。相信在美工的幫助下,我們的MFC程序界面一定會漂亮起來的。

      說到最后,我要提醒大家一下,發布程序前,已經要靜態鏈接MFC的庫。在現在VC8.0 的RTM尚不普及的情況下,就別指望您的用戶安裝部署了支持Feature Packe的FTM庫了。粗粗看了一下,一個用向導生成的支持Feature Pack的Application(是的,安裝了Feature Pack在用AppWizard生新程序的時候,就可以指定Feature Pack支持了),什么代碼都不加,靜態編譯一般在6M-8M之間(還算可以接受的說)。
      
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99国内精品| 欧美视频精品一区| 看欧美日韩国产| 国产欧美一区二区精品性| av成人免费观看| 美国十次成人| 亚洲永久免费av| 国产精品观看| 亚洲小视频在线| 亚洲美女淫视频| 欧美日韩国产页| 一本久久a久久精品亚洲| 最新69国产成人精品视频免费| 午夜国产欧美理论在线播放| 国产精品乱码妇女bbbb| 亚洲欧美日韩精品一区二区 | 欧美国产一区在线| 国产视频欧美视频| 亚洲免费电影在线| 亚洲人体大胆视频| 欧美日韩精品一区二区三区| 99国产精品| 一区二区三欧美| 国产精品视频网| 久久福利一区| 久久人人看视频| 亚洲毛片网站| 亚洲精品网址在线观看| 亚洲精品欧美专区| 亚洲精品一区二区三区四区高清| 欧美日本不卡| 午夜精品福利在线| 久久国产欧美| 亚洲狼人精品一区二区三区| 日韩一区二区电影网| 国产精品丝袜91| 老牛嫩草一区二区三区日本 | 久久亚洲不卡| 日韩网站在线观看| 亚洲特黄一级片| 好男人免费精品视频| 亚洲第一二三四五区| 欧美日韩精品久久久| 欧美一站二站| 蜜桃av一区二区三区| 亚洲一区免费| 久久天天狠狠| 一区二区国产日产| 欧美一区二区三区四区在线观看| 亚洲国产福利在线| 制服丝袜激情欧洲亚洲| 亚洲成人在线观看视频| 亚洲美女在线国产| 在线观看日韩专区| 一区二区三区高清在线| 狠狠综合久久av一区二区小说 | 欧美日韩理论| 久久精品二区三区| 欧美日韩国产小视频在线观看| 久久gogo国模啪啪人体图| 欧美大片va欧美在线播放| 欧美亚洲综合网| 欧美另类69精品久久久久9999| 性欧美超级视频| 欧美激情在线免费观看| 久久九九国产精品| 欧美性做爰毛片| 亚洲日本成人女熟在线观看| 黑人极品videos精品欧美裸| 亚洲视频自拍偷拍| 99成人精品| 免费成人av在线看| 久久野战av| 国产精品一二三四| 亚洲欧洲另类| 亚洲国产一区二区a毛片| 欧美一级免费视频| 欧美一区2区三区4区公司二百| 欧美激情一区二区三区蜜桃视频| 久久久久久综合| 国产欧美日韩视频| 亚洲欧美国产毛片在线| 亚洲欧美国产另类| 国产精品久久久久久亚洲毛片| 亚洲欧洲在线视频| 亚洲全部视频| 欧美成年人网| 亚洲电影免费观看高清完整版在线| 国产综合18久久久久久| 亚洲一区二区四区| 一本色道久久综合狠狠躁篇的优点 | 欧美精品手机在线| 亚洲东热激情| 亚洲日本激情| 欧美国产日韩一二三区| 亚洲高清不卡av| 亚洲精品日韩一| 欧美精品成人一区二区在线观看| 欧美暴力喷水在线| 亚洲人成人99网站| 欧美激情91| 一本大道久久a久久精品综合| 在线亚洲成人| 国产精品私房写真福利视频| 亚洲尤物视频网| 久久精品国语| 亚洲国产清纯| 欧美国产精品专区| 一区二区激情小说| 久久国内精品视频| 亚洲国产一区在线观看| 欧美精品免费看| 夜夜夜久久久| 久久蜜臀精品av| 亚洲黄网站在线观看| 欧美精品色网| 亚洲欧美日韩一区在线| 美女国产一区| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩亚洲一区三区| 午夜国产精品视频| 欧美国产亚洲另类动漫| 亚洲女ⅴideoshd黑人| 国产一区二区三区奇米久涩| 久久久久久噜噜噜久久久精品| 亚洲高清在线视频| 性欧美超级视频| 在线观看视频免费一区二区三区| 欧美另类人妖| 久久国产66| 亚洲欧洲日韩在线| 久久精品水蜜桃av综合天堂| 亚洲人成亚洲人成在线观看| 国产精品v片在线观看不卡| 久久久91精品| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲综合99| 伊人久久大香线蕉av超碰演员| 欧美激情精品久久久久久| 亚洲欧美日韩另类| 亚洲欧洲精品一区二区三区不卡 | 极品裸体白嫩激情啪啪国产精品| 亚洲欧美文学| 一区二区福利| 激情五月综合色婷婷一区二区| 欧美日韩成人综合天天影院| 午夜精品一区二区三区在线| 亚洲国产欧美不卡在线观看| 久久aⅴ国产紧身牛仔裤| 亚洲激情二区| 精品成人免费| 国产精品午夜国产小视频| 欧美国产日韩在线| 久久久久久久性| 羞羞色国产精品| 一区二区三区毛片| 91久久国产精品91久久性色| 美女黄色成人网| 久久精品国产亚洲精品| 亚洲一区二区三区四区在线观看| 亚洲激情中文1区| 在线不卡中文字幕播放| 国产亚洲第一区| 国产精品一页| 国产精品www.| 国产精品成人播放| 欧美视频在线一区二区三区| 欧美国产一区二区在线观看 | 午夜一区二区三视频在线观看| 日韩午夜三级在线| 亚洲精品女av网站| 美女精品国产| 美女图片一区二区| 乱码第一页成人| 老司机精品久久| 久热精品在线| 欧美va天堂在线| 欧美成人午夜激情在线| 久久综合久久久| 美女精品在线| 亚洲国产老妈| 亚洲精品人人| 亚洲一区在线观看视频| 亚洲自啪免费| 欧美在线精品免播放器视频| 久久国产精品黑丝| 久久资源在线| 欧美激情一二区| 欧美视频不卡| 国产欧美亚洲精品| 黄色成人在线| 最新国产精品拍自在线播放| 日韩视频免费观看| 亚洲一区亚洲二区| 欧美中文在线观看| 麻豆免费精品视频| 亚洲激情女人| 亚洲在线一区二区三区| 久久精品中文字幕一区| 欧美激情精品久久久久久蜜臀|