描述:
我做了一个Activex复合控件,在控件的对话框上我已经调整好了字体(和调用者使用一样的字体),可是当显示时,调用者的字体和控件的字体不一样,请问为什么?如果需要实现设置字体,那么该如何做?(我用向导映射的stock字体属性没有get和put方法,奇怪)
请给一个例子!
解决方案1:
你得控件包含dialog template resource?
可以参考msdn上内存dialog template resource class得代码设置字体
BOOL CDlgTempl::SetFontInfoW(WORD wPointSize, const WCHAR* szFaceName)
{
if (m_pFaceName)
{
delete []m_pFaceName;
m_dlgTemplate.style &= ~DS_SETFONT;
m_nPointSize = 0;
}
if (!szFaceName)
{
TRACE (_T("Warning : No Font Specified\n"));
return TRUE;
}
m_nFaceNameLength = (wcslen(szFaceName) + 1) * sizeof(WCHAR);
m_pFaceName = new BYTE[m_nFaceNameLength];
if (!m_pFaceName)
{
m_nFaceNameLength = 0;
AfxThrowMemoryException();
return FALSE;
}
wcscpy((WCHAR*)m_pFaceName, szFaceName);
m_dlgTemplate.style |= DS_SETFONT;
m_nPointSize = wPointSize;
return TRUE;
}
//http://support.microsoft.com/support/kb/articles/q155/2/57.asp