• 一个简单的图像按钮控件


    介绍 XGlyphButton是一个通用的按钮控件,允许您在不需要ownerdraw控件的情况下在按钮上使用图像。使用XGlyphButton,您可以显示任何已安装字体中的任何符号(例如,WingDings)。 XGlyphButton解决了在按钮上使用图像的两个问题: 当在Windows XP上使用主题时,ownerdraw按钮将没有主题外观绘制。 位图按钮需要使用多个位图,而且过于复杂——特别是当您想要显示的只是一些简单的东西,比如向上或向下的箭头时。 我想感谢Geno Carman的工作,他的文章创建一个简单的图像按钮是我基于XGlyphButton。 在使用Carman的button类时,我注意到一些符号的轮廓非常粗糙。在对GDI+和其他方法进行了一些试验之后,我遇到了CLEARTYPE_QUALITY,它是LOGFONT结构中lfQuality元素的值之一。以下是MSDN对CLEARTYPE_QUALITY的解释: 如果设置,文本将使用ClearType反锯齿方法呈现(如果可能的话)。 在XP上,对于大多数翼形和符号字体中的字形,使用CLEARTYPE_QUALITY有一个非常明显的改进。在其他系统上,比如Win98(它没有ClearType技术),符号会像往常一样显示。 总之,如果您可以在已安装的字体中找到与您想要显示的图像接近的字形,那么使用XGlyphButton可能会节省一些时间,并在XP上生成漂亮的结果。缺点: 您只能使用已安装字体中的字形。 没有办法改变文本颜色,因为你必须为此做一个ownerdraw按钮。 演示 下面是XGlyphButton按钮的样子: XGlyphButton API 下面是CXGlyphButton方法的完整列表:复制Code

    void SetCharSet(BYTE bCharSet);
    void SetFaceName(LPCTSTR lpszFaceName);
    void SetFont(LOGFONT* plf);
    void SetFont(CFont* pFont);
    void SetGlyph(UINT cGlyph);
    void SetGlyph(LOGFONT* plf, UINT cGlyph);
    void SetGlyph(CFont* pFont, UINT cGlyph);
    void SetGlyph(LONG lHeight, LONG lPointSize, LONG lWeight,
                  LPCTSTR lpszFaceName, UINT cGlyph);
    void SetGlyph(LONG lPointSize, LPCTSTR lpszFaceName, UINT cGlyph);
    void SetHeight(LONG lHeight);
    void SetPointSize(LONG lPointSize);
    void SetWeight(LONG lWeight);
    void SetWingDingButton(UINT nButton);
    

    如何使用 要将XGlyphButton集成到您的应用程序中,您首先需要添加以下文件到您的项目: XGlyphButton.cpp XGlyphButton.h 然后使用资源编辑器将按钮添加到对话框,并使用类向导将成员变量附加到该控件。 接下来,在对话框的头文件中包含头文件XGlyphButton.h。然后用CXGlyphButton替换CButton定义。现在可以开始使用XGlyphButton了。 修订历史 版本1.1 - 2004年3月10日 首次公开发行。 使用 这个软件被发布到公共领域。您可以自由地以您喜欢的任何方式使用它,除非您不能出售此源代码。如果您修改或扩展了它,请考虑在这里发布新的代码供大家分享。本软件是“按原样”提供的,没有明示或隐含的保证。我不承担任何损害或损失的业务,该软件可能造成的。 本文转载于:http://www.diyabc.com/frontweb/news514.html

  • 相关阅读:
    【转】PHP foreach 小结
    【转】div,p,span,ul,li,dl,dt,dd,a,img,h,strong,em用法
    【转】网页制作中的CSS+DIV:dl,dt,dd分别表示什么意思啊?请说明啊,谢谢有什么功能?
    【转】[教程] CSS入门3:如何插入CSS样式
    PHP输出多个空格
    【转】浅谈HTTP中Get与Post的区别
    HDOJ 2433 Counter Strike 逆序对 线段树
    hdu 4193 Nonnegative Partial Sums 单调队列
    vijos 1750 建房子 单调队列
    poj 2155 Matrix 二维树状数组
  • 原文地址:https://www.cnblogs.com/Dincat/p/13450834.html
Copyright © 2020-2023  润新知