作者:朱金灿
来源:http://blog.csdn.net/clever101/
在VS 2008之前的MFC版本,自定义菜单字体是一件比较繁琐的事情,常规的做法是自绘菜单项,即定义一个CMenu的派生类,重载MeasureItem和重载DrawItem两个函数。我发现利用VS2008 Feature Pack可以很轻易地做到这件事。具体就是使用CMFCMenuBar类的接口SetMenuFont函数,SetMenuFont已包含了自绘操作,即调用后立即更新菜单栏。下面是一个简单的使用例子:
CMFCMenuBar m_wndMenuBar;
LOGFONT m_lf;
memset(&m_lf, 0, sizeof(LOGFONT)); // zero out structure
m_lf.lfHeight = 12; // request a 12-pixel-height font
_tcsncpy_s(m_lf.lfFaceName, LF_FACESIZE,
_T("宋体"), 7);
m_wndMenuBar.SetMenuFont(&m_lf);