zoukankan      html  css  js  c++  java
  • CImageTextButton

    介绍 你好家伙……您在找一种特殊的纽扣吗??那就拿去吧:-)。我只是在开玩笑…现在,言归正传,上传这篇文章的灵感是,因为我没有从网上得到正确的解决方案,在位图按钮的指定位置显示“文本”。我想你有问题吗?是的,我想显示一些按钮必须加载一些位图为它的上,下和禁用状态。我还想在上面显示一些文字…记住,有CBitmapButton,但它只能加载位图,不能显示文本。因此,我决定编写一个可重用的类来加载位图(如果位图被提供给类的话),并提供一些方法来为按钮提供所需的文本。接下来就是着色问题了。谁将为文本着色,用什么颜色显示文本的字体等。所以,我决定给出支持这些点的方法。现在,我. .不,你有一个很酷的简单的工作代码,可以很容易地合并到你的工作空间。 特性。 加载位图(上、下、禁用状态;只有上状态位图是强制性的,其他是可选的)是可能的。 文本位置可以用两种不同的方式设置(可以指定x,y位置或像DT_CENTER|DT_VCENTER等)。 文本字体和字体大小可以为每个按钮配置。 文本颜色为上,下和禁用可以配置。 按钮的大小将调整为位图的大小。 现在,看看CImageTextButton?隐藏,复制Code

    class CImageTextButton : public CButton
    {
     void SetTextPosition(UINT uiPos );
     void SetTextPosition(int nXPos ,int nYPos);
     void SetTextColor(const COLORREF& clrUpDwn, const COLORREF& clrDisabled );
     void SetButtonText(const CString& strCaption);
     void SetButtonImg(UINT uiImageIDU,UINT uiImgIDD =0,UINT uiImgIDX = 0);
     void SetFont(CString srtFntName_i, int nSize_i);
    }

    函数使用。 void SetButtonImg(UINT uiImageIDU,UINT uiImgIDD =0,UINT uiImgIDX =0) 方法,用于设置要为按钮加载的位图。位图的顺序是上行位图,然后是下行位图,最后是禁用位图。 空白SetButtonText (const CString&strCaption); 方法,用于设置按钮的标题/文本(如果按钮需要任何文本)。如果不调用此方法,则只加载位图。 空白SetTextColor (const COLORREF&clrUpDwn const COLORREF&clrDisabled); 方法,用于为按钮的上、下和禁用状态设置按钮标题的颜色。这只在调用SetButtonText()时有效。 void SetTextPosition(UINT uiPos); 用于设置文本位置的方法。有效的单位值是..隐藏,CodeDT_TOP 复印件;,,,,,,,,0 x00000000 DT_LEFT ,,,,,,, 0 x00000000 DT_CENTER ,,,,,, 0 x00000001 DT_RIGHT ,,,,,,, 0 x00000002 DT_VCENTER 0 x00000004 DT_BOTTOM 0 x00000008 DT_WORDBREAK ,, 0 x00000010 DT_SINGLELINE 0 x00000020 可以使用上述标志的任何组合。 void SetTextPosition(int nXPos,int nYPos); 用于设置文本的x、y位置的方法。如果没有调用SetTextPostion()中的任何一个,则文本将显示为DT_SINGLELINE|DT_CENTER|DT_VCENTER。 (CString srtFntName_i, int nSize_i); 方法,用于设置文本的字体名称和字体大小。如果它没有被调用,则采用具有默认大小的默认字体来绘制文本。 使用类的步骤。 添加ImageTextButton.h &cpp文件到工作空间。 添加#包括“ImageTextButton。h"在对话框的包括部分,希望有CImageTextButton,如下所示:复制代码# include“stdafx.h” # include“ImageTextButton.h” 将对应于每个按钮的CImageTextButton对象声明为:复制代码//添加对应于每个按钮的成员变量 CImageTextButton m_btnOK; CImageTextButton m_btnPlay; CImageTextButton m_btnEnable; CImageTextButton m_btnStrt; 在对话框的OnInitDialog()中设置按钮所需的属性:Hide  复制Codem_btnOK.SetButtonImg (IDB_OKU IDB_OKD); m_btnOK.SetButtonText(“OK”); m_btnOK.SetFont(“天线”,16); m_btnOK.SetTextColor (RGB (255, 0, 0), RGB (129129129); m_btnOK.SubclassDlgItem (IDOK,); 重要的 不要忘记为所有位图按钮成员调用SubclassDlgItem(),只有在这个调用之后,Windows消息才会到达我玩了这个把戏的CImageTextButton… 现在,是时候构建应用程序并享受结果了。 [如果你们中有人发现使用这个有任何问题,请给我发邮件…] 本文转载于:http://www.diyabc.com/frontweb/news500.html

  • 相关阅读:
    Java的静态块与实例块(转)
    Programming Ability Test学习 1031. Hello World for U (20)
    Programming Ability Test学习 1011. World Cup Betting (20)
    Programming Ability Test学习 1027. Colors in Mars (20)
    Programming Ability Test学习 1064. Complete Binary Search Tree (30)
    Programming Ability Test学习 1008. Elevator (20)
    【maven详解-生命周期】Maven的生命周期和插件
    【maven详解-插件】maven插件学习之源码插件Source Xref
    $(document).ready(){}、$(fucntion(){})、(function(){})(jQuery)onload()的区别
    你还没真的努力过,就轻易输给了懒惰
  • 原文地址:https://www.cnblogs.com/Dincat/p/13450235.html
Copyright © 2011-2022 走看看