資源簡介
子類化CMenu 自定義菜單背景色,字體顏色,圖標尺寸等,適合初學者學習

代碼片段和文件信息
#include?“stdafx.h“
#include?“MenuExDemo.h“
#include?“MainFrm.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CMainframe
IMPLEMENT_DYNCREATE(CMainframe?CframeWnd)
IMPLEMENT_MENUEX(CMainframe?CframeWnd) /*?CMenuEx?*/
BEGIN_MESSAGE_MAP(CMainframe?CframeWnd)
ON_WM_CREATE()
ON_MENUEX_MESSAGES() /*?CMenuEx?*/
END_MESSAGE_MAP()
static?UINT?indicators[]?=
{
ID_SEPARATOR
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
CMainframe::CMainframe()
{
m_pMainMenu?=?NULL; /*?CMenuEx?*/
}
CMainframe::~CMainframe()
{
delete?m_pMainMenu; /*?CMenuEx?*/
}
int?CMainframe::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CframeWnd::OnCreate(lpCreateStruct)?==?-1)
return?-1;
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(IDR_MAINframe))
{
TRACE0(“Error?creating?ToolBar\n“);
return?-1;
}
if?(!m_wndStatusBar.Create(this)?||
!m_wndStatusBar.SetIndicators(indicators
??sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Error?creating?StatusBar\n“);
return?-1;?
}
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
/*?CMenuEx?*/
m_pMainMenu?=?new?CMenuEx(this);
if(m_pMainMenu->LoadMenu(IDR_MAINframe))
{
/* Psychedelic?look
m_pMainMenu->m_bHighlightGray =?TRUE;
m_pMainMenu->m_colText =?RGB(255?0?0);
m_pMainMenu->m_colGrayText =?RGB(255?255?0);
m_pMainMenu->m_colBackground =?RGB(0?0?255);
m_pMainMenu->m_colHead =?RGB(255?255?0);
m_pMainMenu->m_colHorzBar =?RGB(0?255?255);
m_pMainMenu->m_colHilight =?RGB(0?255?0);
m_pMainMenu->m_colGrayHilight =?RGB(255?0?0);
m_pMainMenu->m_colHilightBorder =?RGB(255?0?255);
m_pMainMenu->m_szTextPadding =?CSize(10?10);
*/
m_pMainMenu->UseToolBarImages(&m_wndToolBar);
::DestroyMenu(m_hMenuDefault);
SetMenu(m_pMainMenu);
m_hMenuDefault?=?m_pMainMenu->GetSafeHmenu();
}
/*?CMenuEx?*/
return?0;
}
BOOL?CMainframe::PreCreateWindow(CREATESTRUCT&?cs)
{
if(?!CframeWnd::PreCreateWindow(cs)?)
return?FALSE;
cs.style?=?WS_OVERLAPPED?|?WS_CAPTION?|?FWS_ADDTOtitle
?|?WS_MINIMIZEBOX?|?WS_MAXIMIZEBOX?|?WS_SYSMENU;
return?TRUE;
}
#ifdef?_DEBUG
void?CMainframe::AssertValid()?const
{
CframeWnd::AssertValid();
}
void?CMainframe::Dump(CDumpContext&?dc)?const
{
CframeWnd::Dump(dc);
}
#endif?//_DEBUG
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2004-08-30?09:14??CMenuEx_src\
?????文件????????2549??2004-08-30?08:27??CMenuEx_src\MainFrm.cpp
?????文件?????????625??2004-08-30?08:27??CMenuEx_src\MainFrm.h
?????目錄???????????0??2004-08-30?09:14??CMenuEx_src\MenuEx\
?????文件???????12301??2004-08-30?09:14??CMenuEx_src\MenuEx\MenuEx.cpp
?????文件????????3203??2004-08-30?09:05??CMenuEx_src\MenuEx\MenuEx.h
?????文件????????3604??2004-08-27?21:54??CMenuEx_src\MenuExDemo.cpp
?????文件?????????575??2004-08-27?21:54??CMenuEx_src\MenuExDemo.h
?????文件???????15222??2004-08-30?08:31??CMenuEx_src\MenuExDemo.rc
?????文件?????????909??2004-08-27?21:54??CMenuEx_src\MenuExDemo.sln
?????文件????????5391??2004-08-27?22:13??CMenuEx_src\MenuExDemo.vcproj
?????文件????????1222??2004-08-27?21:54??CMenuEx_src\MenuExDemoDoc.cpp
?????文件?????????666??2004-08-27?21:54??CMenuEx_src\MenuExDemoDoc.h
?????文件????????6188??2004-08-28?07:21??CMenuEx_src\MenuExDemoView.cpp
?????文件????????1747??2004-08-28?07:18??CMenuEx_src\MenuExDemoView.h
?????目錄???????????0??2004-08-30?09:15??CMenuEx_src\res\
?????文件?????????721??2004-08-27?21:54??CMenuEx_src\res\MenuExDemo.exe.manifest
?????文件???????21630??2003-03-29?11:10??CMenuEx_src\res\MenuExDemo.ico
?????文件?????????441??2004-08-27?21:54??CMenuEx_src\res\MenuExDemo.rc2
?????文件????????1078??2003-03-29?11:10??CMenuEx_src\res\MenuExDemoDoc.ico
?????文件????????1078??2003-03-29?11:10??CMenuEx_src\res\Toolbar.bmp
?????文件????????2019??2004-08-27?22:38??CMenuEx_src\resource.h
?????文件?????????208??2004-08-27?21:54??CMenuEx_src\stdafx.cpp
?????文件?????????531??2004-08-28?07:15??CMenuEx_src\stdafx.h
評論
共有 條評論