CMFCMenuBar自定义菜单字体

作者:朱金灿
来源: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);


你可能感兴趣的:(CMFCMenuBar自定义菜单字体)