| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4119 人关注过本帖, 1 人收藏
标题:如何创建XP风格的按钮控件
只看楼主 加入收藏
hlmzrdongdong
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖北武汉
等 级:版主
威 望:1
帖 子:99
专家分:145
注 册:2008-10-24
结帖率:100%
收藏(1)
 问题点数:0 回复次数:2 
如何创建XP风格的按钮控件
    现在大多数计算机均安装的是Windows XP OS,其美观度也为大家所认可,丰富的图形界面甚是吸引人的眼球,作为MFC的初学者,如何更快的创建自己的具有XP风格的按钮呢?C++是高度对象化的语言,对象即是整个系统的结构单元,而每个单元之间又靠着接口和成员联系着,所以自然想到利用已有的XP风格按钮类来建立自己的具有XP风格按钮的对话框。到那里去找呢?这里就可以下载:

demo下载链接:http://hlmzrdongdongsohu.
source下载链接:http://hlmzrdongdongsohu.

当然你的计算机要运行在XP OS 下才可以实现。另外,我的demo是在VS2008下完成的。

    首先建立一个基于对话框的工程,常规操作这里不细说,我给我的工程取名为XPBtn,然后将以下这些文件加入工程:

        BtnST.h

        BtnST.cpp

        ThemeHelpST.h

        ThemeHelpST.cpp

        XPStyleButtonST.h

        XPStyleButtonST.cpp

 以上文件就在source链接下载的压缩包里。 这样你VS2008的文件窗口就变成了这样的:
图片附件: 游客没有浏览图片的权限,请 登录注册

接着编辑以下你的对话框界面,创建一个普通按钮,取其ID为IDTEST:
图片附件: 游客没有浏览图片的权限,请 登录注册

下面应该作的就是在相应位置添加代码:

     在XPBtnDlg.h(如果你的工程名是XPBtn的话)中加一句:

         #include "XPStyleButtonST.h"


     在XPBtnDlg.cpp中加一句:

     
    #include "XPStyleButtonST.h"


    在XPBtnDlg.h的成员变量定义的部分添加如下代码:

   
程序代码:
     protected:

         CXPStyleButtonST m_XpStyBtnSt;//初始化一个XP Style按钮实例

         CThemeHelperST    m_Theme;//创建主题风格,视你所使用的XP主题决定

         COLORREF crBtnColor;//创建颜色配置


    在XPBtnDlg.cpp的void CXPBtnDlg::DoDataExchange(CDataExchange* pDX)下添加如下代码:

     
    DDX_Control(pDX, IDTEST, m_XpStyBtnSt);

   最后在XPBtnDlg.cpp的BOOL CXPBtnDlg::OnInitDialog()中添加如下代码:

      
程序代码:
 crBtnColor = ::GetSysColor(COLOR_BTNFACE) + RGB(50, 50, 50);//设置颜色方案

       m_XpStyBtnSt.SetThemeHelper(&m_Theme);//设置主题

       m_XpStyBtnSt.SetIcon(IDI_NO3, IDI_NO4);//设置鼠标是否聚焦按钮时显示的图片

       m_XpStyBtnSt.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);//设置颜色

       m_XpStyBtnSt.SetTooltipText(_T("This a XP style button controll"));//设置提示语

    另外,要说的是IDI_NO3和IDI_NO4是两个ICO类型的资源文件,要手动添加到资源库中。

    到此为止,一切工作都OVER了,全部源代码见demo吧。运行一下试试:  

    当鼠标放在按钮上面时:
图片附件: 游客没有浏览图片的权限,请 登录注册

当鼠标不放在上面时:
图片附件: 游客没有浏览图片的权限,请 登录注册

这样就形成了XP风格的按钮,与VS2008的普通按钮相比,它确实丰富了许多。
搜索更多相关主题的帖子: 风格 按钮 控件 
2009-11-12 12:25
sally_2
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-7-9
收藏
得分:0 
想看看源代码啊 没找到下载
2011-07-09 09:14
fcb809047618
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-14
收藏
得分:0 
不要这样啊,有事广告
能不能给我个源代码,牛人谢谢809047618@
2012-03-14 21:21
快速回复:如何创建XP风格的按钮控件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023073 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved