paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
建立磊个字体,三,qt黑头切换了,费要重启才能了...这个用户体验k不好了阿.
做为一个编辑器..应该要加个字体切换功能了...
主要的原理式EnumFontFamiliesEx,回调个函数..不个他放的个Listbox上..
EnumFontFamiliesEx
//////////////////////////////
函数功能:该函数列举系统里所有符合由LOGFONT结构指定的字体特性的字体。此函数基于字样名或字符集或两者来枚举字体。
函数原型:int EnumFontFamiliesEx(HDC hdc, LPLOGFONT lpLogfont, FONTENUMPROC lpEnumFontFamExProc, LPARAM lParam, DWORD dwFlags);
枚举所有字体
////////////////////
LOGFONT lf;
lf.lfCharSet = DEFAULT_CHARSET; // Initialize the LOGFONT structure
strcpy(lf.lfFaceName,"");
CClientDC dc (this);
//Enumerate the font families
::EnumFontFamiliesEx((HDC) dc,&lf,
(FONTENUMPROC) EnumFontFamProc,(LPARAM) this,0);
//枚举函数
int CALLBACK EnumFontFamProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lparam)
{
// Create a pointer to the dialog window
CDay7Dlg* pWnd = (CDay7Dlg*) lparam;
// add the font name to the list box
pWnd ->m_ctlFontList.AddString(lpelf ->elfLogFont.lfFaceName);
// Return 1 to continue font enumeration
return 1;
}
其中m_ctlFontList是一个列表控件变量
参考:
如何获取系统的字体? - CSDN论坛 - CSDN.NET.htm
EnumFontFamiliesEx_百度百科.htm
相关文章
- paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt
- paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..
- paip.提升用户体验----c++ 源码字体自定义制造总结
- paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..
- paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt
- paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- paip.提升用户体验----c++ 源码字体自定义制造总结
- paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制
- paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..