zoukankan      html  css  js  c++  java
  • CxShadeButton

    介绍 有了这个类,只需几个步骤就可以轻松地为按钮提供专业外观。不需要位图资源-所有位图都是在运行时生成的。部分代码来自CxSkinButton文章。目标是用应用程序代码中最小的修改替换标准按钮、复选框和单选按钮。 添加“xShadeButton。cpp”和“xShadeButton。h”支持这个项目。包括“xShadeButton。h"在定义控件的头文件中。为要自定义为CxShadeButton的每个按钮创建(或编辑)成员变量。如果类向导没有显示CxShadeButton类型,那么选择CButton,然后手动编辑代码。在窗口初始化中,添加CxShadeButton方法:Hide复制CodeBOOL CxShadeButtonDemoDlg: OnInitDialog () { / /…… m_btn1.SetTextColor (RGB (255, 0, 0)); m_btn1.SetToolTipText(“Button1”); m_btn1.SetShade (SHS_DIAGSHADE、8、10、5、RGB(55255年,55岁)); / /…… 类成员和操作 CxShadeButton派生自CButton。BS_OWNERDRAW样式是自动添加的,您不需要在资源编辑器中设置“Owner draw”属性。您可以使用资源编辑器更改一些样式(平面、推式、文本对齐、组等等),但是目前并不是所有的样式都被支持。如果在运行时更改按钮的方面,为了避免闪烁,首先调用不会导致按钮失效的函数(如SetShade、SetIcon或SetFont),而不是使按钮失效,例如使用SetWindowText或直接使用invalidate。 隐藏,复制Code

    void SetShade(UINT shadeID=0, BYTE granularity=8,
                  BYTE highlight=10,BYTE coloring=0,COLORREF color=0);

    生成按钮位图。重要 shadeID:可能是以下效果之一: SHS_NOISE = 0SHS_DIAGSHADE = 1SHS_HSHADE = 2SHS_VSHADE = 3SHS_HBUMP = 4SHS_VBUMP = 5SHS_SOFTBUMP =6SHS_HARDBUMP = 7SHS_METAL = 8 粒度:这个参数给按钮位图添加了一个统一的噪声。一个好的值是5到20;0禁用此效果。噪音有积极的效果,因为它隐藏了调色板步骤。高亮:设置当鼠标在按钮上时的高亮级别。一个好的值是5到20;0禁用此效果。着色:设置在按钮调色板中混合的颜色的百分比。值的范围可以从0到100;0禁用此效果。颜色:如果上色大于零,颜色将与标准按钮颜色混合。备注:颜色和颜色参数应谨慎使用,以保证在所有情况下都有良好的方面。 隐藏,复制Code

    void SetToolTipText(CString s, CString sDown="");

    设置或更改工具提示文本 正常状态下显示的字符串。(可选)指定复选框或单选按钮被选中时显示的第二个文本。 隐藏,复制Code

    COLORREF SetTextColor(COLORREF new_color);

    设置或更改按钮文本的颜色。返回上一个按钮文本的颜色 隐藏,复制Code

    void SetIcon(UINT nIcon, UINT nIconAlign=BS_CENTER, UINT nIconDown=0, 
                 UINT nIconHighLight=0);

    类似于BS_ICON风格,很好 nIcon:图标资源的ID号。nIconAlign:图标对齐,可以是下列值之一: BS_CENTERBS_LEFTBS_RIGHT nIconDown:(可选)选中按钮时显示的图标资源的ID号。(可选)当鼠标指针在按钮上时显示的图标资源的ID号。备注:按钮文本是自动放置的,这样图标和文本就不会重叠。 隐藏,复制Code

    bool SetFont(CString sFontName, long lSize=0, long 
                 lWeight=400, BYTE bItalic=0, BYTE bUnderline=0);
    bool SetFont(LOGFONT* pNewStyle); / LOGFONT* GetFont();

    修改文本,很好 指定字体的字体名称。(可选)文本高度。(可选)文本权重可以从0到1000;100=薄,300=轻,400=正常,700=粗体。(可选)斜体。(可选)下划线样式。备注:使用GetFont/SetFont和LOGFONT结构来获取/设置字体的完整属性。如果按钮使用默认的系统字体,则返回NULL。 隐藏,复制Code

    void SetTextAlign(UINT nTextAlign=BS_CENTER);

    设置文本对齐可选 按钮文本对齐方式,可以是下列值之一: BS_CENTERBS_LEFTBS_RIGHT 隐藏,复制Code

    void SetFlat(bool bFlag);

    设置边框样式:可选 bFlag可以有以下值: FALSE =标准3D边框。TRUE =边界平坦。 兼容性 Win95, WinNT = Yes,需要IE3.0或更高,win98, W2K, WinXP = Yes 确认 感谢所有的CodeProject开发人员!特别感谢: 米兰加迪安鼠标和键盘跟踪代码。用于CButtonST代码片段的Davide Calabro。Rainer Mangold的单选键和复选框代码。Jeremy Davis, Andre Brogli, Richard Cunday, Shanker Chandrabose, Luis, Gilad, Rui Lopes, Tom Archer, Tommy Svensson, David Scambler, Orioli Alessandro, Joao Filipe de Castro Ferreira, Jesper Kinnas和Derek Lakin为您提供建议,调试和支持。 版本历史 v1.00——12/05/2001 基本实现和接口。 v1.10——23/05/2001 增加文本shift按下按钮。修正了许多CxDib错误。固定SHS_HARDBUMP bug。支持添加图标。添加文本对齐方式。添加平面风格。 v1.20——23/06/2001 修正了键盘快捷键的错误。检查b公牛和单选按钮添加。第二个图标和第二个工具提示增加。用于绘画操作的存储DC。 v1.30——03/08/2001 固定SetIcon bug。增加字体的支持。 v1.40——23/09/2001 修正了DrawItem()和SetIcon()中的内存泄漏bug。修正第二个工具提示初始化错误。修正了OnLButtonUp()拖放问题。增加了多行工具提示支持。 v1.41——4/11/2001 修正了SetIcon()和析构函数中的内存泄漏错误。为高亮状态添加了第三个图标。 本文转载于:http://www.diyabc.com/frontweb/news524.html

  • 相关阅读:
    JS之RegExp对象(一)
    八大排序算法总结
    mysql创建数据库指定编码格式
    Java学习笔记_22_Set接口的实现类
    HDU--杭电--3415--Max Sum of Max-K-sub-sequence--暴力或单调队列
    第六届蓝桥杯JavaB组省赛真题
    第六届蓝桥杯JavaA组省赛真题
    第六届蓝桥杯JavaA组省赛真题
    第六届蓝桥杯JavaA组省赛真题
    第六届蓝桥杯JavaA组省赛真题
  • 原文地址:https://www.cnblogs.com/Dincat/p/13451392.html
Copyright © 2011-2022 走看看