菜单(menu)的美化:
1.先介绍一下使用MFC类库自带的CMFCPopupMenu类进行Menu的美化,下面代码实现了菜单背景色,选中的背景色,还有字体以及字的颜色等信息的设置,虽然字体大小的改变能够改变菜单每项的高度,但是并不能够随意调整菜单的高度。
CWinAppEx* pApp = DYNAMIC_DOWNCAST(CWinAppEx, AfxGetApp());
if(NULL != pApp)
{
CMFCPopupMenu* pMenu = pApp->GetContextMenuManager()->ShowPopupMenu(pPopup->GetSafeHmenu(), pt.x, pt.y, this, FALSE);
COLORREF clrHilite = RGB(255,255,0);
COLORREF clrBarFace = RGB(220, 220, 220);
CBrush brHilite;
::afxGlobalData.brHilite.DeleteObject();
::afxGlobalData.brHilite.CreateSolidBrush(clrHilite);
::afxGlobalData.brBarFace.DeleteObject();
::afxGlobalData.brBarFace.CreateSolidBrush(clrBarFace);
::afxGlobalData.fontRegular.DeleteObject();
::afxGlobalData.fontRegular.CreateFont(
13, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nC