zoukankan      html  css  js  c++  java
  • 一个简单的图像按钮控件

    介绍 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

  • 相关阅读:
    PDF 补丁丁 0.5.0.2713 发布(替换字库功能修正字符宽度问题)
    PDF 补丁丁 0.5.0.2691 发布(替换字库新增字符映射功能)
    PDF 补丁丁 0.5.0.2657 发布
    安装Windows 10后PDF补丁丁等程序界面变得模糊的解决办法
    《React+Redux前端开发实战》笔记1:不涉及React项目构建的Hello World案例
    React前端有钱途吗?《React+Redux前端开发实战》学起来
    《陪孩子像搭积木一样学编程》,一起来玩Scratch(1)使用Scratch编程的基本流程
    为什么使用React Native
    React Native移动开发实战-5-Android平台的调试技巧
    React Native移动开发实战-4-Android平台的适配原理
  • 原文地址:https://www.cnblogs.com/Dincat/p/13450834.html
Copyright © 2011-2022 走看看