• 大小: 31KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: MFC  Cmenu  

资源简介

子类化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

评论

共有 条评论