怎样实现XP风格按钮

再见不如初见0

再见不如初见0

2016-02-19 15:02

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的怎样实现XP风格按钮懂设计的网友们快点来了解吧!

  示例代码运行效果图

  在vc6下面怎样实现具有xp风格的按钮?我这里介绍一种简单的方法。 我们需要用到两个类,一个是CButtonST,另一个是CWinXpButtonST.这两个类一个是按钮类,另一个是Xp风格按钮类,大家可以从我的例子原代码中得到相关的4个文件(BtnST.h、BtnST.cpp、WinXPButtonST.h、WinXPButtonST.cpp)。

  下面开始制作这个示例程序 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  1、使用vc的向导制作一个工程dialog工程,起名为:XPDlg。并接受一切默认值。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  2、将我上面提到的4个文件copy到你的工程所在的目录。打开FileView将4个文件加入到你的工程中去。查看ClassView增加了2个类,CButtonSt 和CWinXpButtonST。

  3、在CAboutDlg类中加入#include "WinXPButtonSt.h"并加入成员 CWinXPButtonST m_OK;

  4、使用MFC 类向导在类CAboutDlg中,加入2个函数 ON_WM_CTLCOLOR ON_WN_INITDIALOG注意这个地方是CAboutDlg类,而不是默认的CXPDlgDlg类, 如下图:

  5、在OnInitDialog中加入如下代码:

m_OK.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30);m_OK.SetBkColor(RGB(162,189,252));m_OK.SetRounded(TRUE);m_OK.SetTooltipText(_T("关闭"));
6、在CAboutDlg::OnCtlColor中加入如下代码:
if(nCtlColor==CTLCOLOR_LISTBOX){  //pDC-SetBkMode(TRANSPARENT);  pDC-SetTextColor(RGB(0,0,0));  pDC-SetBkColor(RGB(233,233,220));  HBRUSH b=CreateSolidBrush(RGB(233,233,220));  return b;}else if(nCtlColor==CTLCOLOR_SCROLLBAR){  //pDC-SetBkMode(TRANSPARENT);  pDC-SetTextColor(RGB(0,0,0));  pDC-SetBkColor(RGB(233,233,220));  HBRUSH b=CreateSolidBrush(RGB(233,233,220));  return b;}else if(nCtlColor==CTLCOLOR_EDIT){  //pDC-SetBkMode(TRANSPARENT);  pDC-SetTextColor(RGB(0,0,0));  pDC-SetBkColor(RGB(233,233,220));  HBRUSH b=CreateSolidBrush(RGB(233,233,220));  return b;}else if(nCtlColor==CTLCOLOR_STATIC){  pDC-SetTextColor(RGB(0,0,0));  pDC-SetBkColor(RGB(160,180,220));  HBRUSH b=CreateSolidBrush(RGB(160,180,220));  return b;}else if(nCtlColor==CTLCOLOR_DLG){  pDC-SetTextColor(RGB(0,0,0));  pDC-SetBkColor(RGB(160,180,220));  HBRUSH b=CreateSolidBrush(RGB(160,180,220));  return b;} 
7、在CAboutDlg::DoDataExchange中加入如下代码:
DDX_Control(pDX, IDOK, m_OK);
8、打开Dialog对话框IDD_XPDLG_DIALOG 并加入一个Button,双击这个Button,生成该按钮单击处理函数,在其中加入
CAboutDlg Dlg;Dlg.DoModal();
9、运行Ctrl+F7

  这个程序所用到的类,是一个意大利人写的,还有其他不少功能,大家可以参照说明来使用,顺便提一句,这个类不能用作商业用途,如果需要的话,需要给作者支付5$.

本文示例代码或素材下载

展开更多 50%)
分享

猜你喜欢

怎样实现XP风格按钮

编程语言 网络编程
怎样实现XP风格按钮

VC学习笔记之一:怎样实现XP风格按钮

C语言教程 C语言函数
VC学习笔记之一:怎样实现XP风格按钮

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

设计XP风格的按钮

C语言教程 C语言函数
设计XP风格的按钮

FWMX一例XP风格按钮的制作

电脑网络
FWMX一例XP风格按钮的制作

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XP风格复活节彩蛋的实现

C语言教程 C语言函数
XP风格复活节彩蛋的实现

按钮怎样实现Word文档自动滚动

word
按钮怎样实现Word文档自动滚动

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何让工具条显示256色图像

如何让工具条显示256色图像

认识Word2007中的图形图片样式

认识Word2007中的图形图片样式
下拉加载更多内容 ↓