zoukankan      html  css  js  c++  java
  • paip.提升用户体验=c++ qt 字体切换功能缺少的总结..

    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
  • 相关阅读:
    Quartz.net 定时任务在IIS中未按时执行
    扩展方法
    mysql 实用语句
    jquery each map
    js匿名函数多时注意
    ASP.NET MVC3调用分部视图
    eclipse快捷键
    regular 点滴
    适配器模式
    php代码实现简单图片下载
  • 原文地址:https://www.cnblogs.com/attilax/p/15199517.html
Copyright © 2011-2022 走看看