六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Office 2000風格的停泊、自動選擇型菜單

[摘要]譯者:徐景周(原著:Piero Viano)下載演示源碼(http://www.vckbase.com/vckbase/vckbase12/vc/ctrls/menu_07/1207099.htm)...
譯者:徐景周(原著:Piero Viano)

下載演示源碼(http://www.vckbase.com/vckbase/vckbase12/vc/ctrls/menu_07/1207099.htm)

(譯者注:由于原文作者所提供例子代碼需使用附帶RC資源,經本人使用后覺得不夠通用,故將部分源碼修改并將文章翻譯。文中現在所附例子為我最近所作一抓圖程序的界面部分。不光Office 2000智能菜單噢!還包括多文檔視圖的TAB頁顯示,自繪制菜單等,詳情請參看附帶實例代碼。我的EMAIL是:[email protected] ~O~)

在你的工程文件中使用Office 2000菜單的話(譯者:目前僅支持多文檔菜單修改,如果要改單文檔菜單界面的話,可對文件中的CMultiDocTemplateEx類、CMDIFrameEx類和CMDIFrameEx類進行修改,以適應單文檔界面。),請按下面步驟進行:

在資源里的字符串表中新增二字符串:一、ID_SHOWFULL ,32792,顯示完全菜單。二、ID_INTMODE,32794,打開/禁止智能菜單模式。
將OffMenu文件夾中每一個.cpp和.h文件包含井你的工程文件中。
編輯工程文件中的 MainFrm.h (主框架頭文件) :
將原類的聲明從:

class CMainFrame : public CMDIFrameWnd

改為:

#include "MDIFrmEx.h"
#include "ToolBarEx.h"

class CMainFrame : public CMDIFrameEx

接著將類中的工具條類從 CToolBar 改為 CToolbarEx:

CToolbar m_wndToolBar;

變成:

CToolbarEx m_wndToolBar;


編輯工程文件中的 MainFrm.cpp (主框架文件):
改變其中消息映射從:

IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)

變成:

IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameEx)
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameEx)

接著將 CMainFrame::OnCreate 中的:

if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)

變為:

if (CMDIFrameEx::OnCreate(lpCreateStruct) == -1)


編輯工程文件中 MyApp.h (應用類頭文件):
改變其中的類聲明從:

class CTestMDIApp : public CWinApp

變為:

#include "WinAppEx.h"

class CTestMDIApp : public CWinAppEx


編輯工程文件中 MyApp.cpp (應用類文件):
將其中的消息映射從:

BEGIN_MESSAGE_MAP(CTestMDIApp, CWinApp)

變為:

#include "DocTplEx.h"

BEGIN_MESSAGE_MAP(CTestMDIApp, CWinAppEx)

接著將 CMyApp::InitInstance() 中的下面代碼從:

         CMultiDocTemplate* pDocTemplate;
         pDocTemplate = new CMultiDocTemplate(
                 IDR_TESTMDTYPE,
                 RUNTIME_CLASS(CTestMDIDoc),
                 // custom MDI child frame
                 RUNTIME_CLASS(CChildFrame),
                 RUNTIME_CLASS(CTestMDIView));
         AddDocTemplate(pDocTemplate);

         // create main MDI Frame window
         CMainFrame* pMainFrame = new CMainFrame;
         if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
                 return FALSE;
         m_pMainWnd = pMainFrame;

替換成:

         UINT nID;
         nID=IDR_MAINFRAME;

         // create main MDI Frame window
         CMainFrame* pMainFrame = new CMainFrame;
         if (!pMainFrame->LoadFrame(nID))
                 return FALSE;
         m_pMainWnd = pMainFrame;

         CMultiDocTemplateEx* pDocTemplate;
         pDocTemplate = new CMultiDocTemplateEx(
                 IDR_TESTMDTYPE,
                 RUNTIME_CLASS(CTestMDIDoc),
                 // custom MDI child frame
                 RUNTIME_CLASS(CChildFrame),
                 RUNTIME_CLASS(CTestMDIView),
                 &nID,1);
         AddDocTemplate(pDocTemplate);

         CWinAppEx::InitInstance();


接下來就可以編釋并運行你的程序了。
如果你想自己掌控智能菜單的話,可直接重載CmenuBar類中的下面涵數既可:

WORD CMenuBar::IncMenuUsage(CMenuEx *pParent,
                            UINT pos,
                            WORD curusage)

BOOL CMenuBar::EvaluateIfGrayed(CMenuEx *pParent,
                                UINT pos,
                                WORD &curusage,
                                int iMed,
                                int iRange)
第一個涵數用來添加當前菜單條有用法。第二個涵數決定當前菜單條是否灰色顯示,它也可用來修改當前菜單條的用法。如果你想在菜單中存儲應用程序中定義的數據的話,可用CMenuEx::GetExtraDataPtr(UINT)來包含進這些數據。


主站蜘蛛池模板: 武则天一级淫片免费放 | 亚洲va欧美va天堂v国产综合 | 人人爽天天爽夜夜爽曰 | 欧美特黄视频 | 日韩中文字幕一在线 | 婷婷六月天激情 | 一区小说二区另类小说三区图 | 日本不卡高清免费v | 亚洲 另类 在线 欧美 制服 | 丝袜啪啪 | 三级福利片 | 午夜精品久久久久久中宇 | 欧美专区在线 | 天天影视色香欲综合网天天录日日录 | 色综合天天综合高清网国产 | 亚州精品永久观看视频 | 亚洲精品日韩专区在线观看 | 欧美一级特黄刺激大片视频 | 日本视频中文字幕 | 在线视频中文字幕 | 色女人天堂 | 四虎影院在线网址 | 啪啪午夜视频 | 欧美偷拍色图 | 亚洲 欧美 字幕 一区 在线 | 亚洲综合站| 亚洲精品免费视频 | 在线观看日本视频 | 手机在线观看mv网址 | 日本精品高清一区二区2021 | 色噜噜噜噜亚洲第一 | 欧美亚洲综合另类型色妞 | 五月婷激情 | 私库在线视频看看 | 日韩精品一区二区三区中文精品 | 亚洲视频一区在线观看 | 日日干干夜夜 | 欧美一级特黄特色大片 | 色悠久久久久综合欧美99 | 日本三级视频网站 | 青青在线视频免费看观看 |