微调按钮SpinButton及实例
来源:互联网 发布:开淘宝店用别人银行卡 编辑:程序博客网 时间:2024/05/17 04:10
http://blog.csdn.net/zhandoushi1982/article/details/6029313
微调按钮(SpinButton)是个简易的滑动条,它经常与一个称为“兄弟窗口”(Buddy Window)的编辑控件结合起来使用,它们可以很好地配合,以响应用户的输入。本实例实现调节RGB三个颜色分量,控制合成的颜色显示。完成的界面如下:
(1)新建一个基于对话框的应用程序,在上面分别添加三个静态文本、三个编辑框(IDC_EDIT_RED,IDC_EDIT_GREEN,IDC_EDIT_BLUE)、三个SpinButtion控件(IDC_EDIT_RED,IDC_EDIT_GREEN,IDC_EDIT_BLUE)。在CSpinButtonDlg的OnInitDialog方法里配置该对话框初始化,如下:
//设置红色参数
CSpinButtonCtrl *pSpinRed = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_RED); //红色SpinButton控件变量
ASSERT(pSpinRed != NULL);
pSpinRed->SetBuddy(GetDlgItem(IDC_EDIT_RED)); //设置红色的兄弟窗口,两者绑定变化
pSpinRed->SetRange(0,255); //设置红色的编辑框的上下限
pSpinRed->SetPos(128); //设置默认值
CSpinButtonCtrl *pSpinGreen = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_GREEN); //绿色SpinButton控件变量
ASSERT(pSpinGreen != NULL);
pSpinGreen->SetBuddy(GetDlgItem(IDC_EDIT_GREEN)); //设置绿色的兄弟窗口,两者绑定变化
pSpinGreen->SetRange(0,255); //设置绿色的编辑框的上下限
pSpinGreen->SetPos(128); //设置默认值
CSpinButtonCtrl *pSpinBlue = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_BLUE); //绿色SpinButton控件变量
ASSERT(pSpinBlue != NULL);
pSpinBlue->SetBuddy(GetDlgItem(IDC_EDIT_BLUE)); //设置绿色的兄弟窗口,两者绑定变化
pSpinBlue->SetRange(0,255); //设置绿色的编辑框的上下限
pSpinBlue->SetPos(128); //设置默认值
(2)点击编辑框右键添加变量,为三个编辑框分别添加三个变量m_red,m_green,m_blue。右键点击类视图,给对话框类添加私有成员函数void RGBColorChange(void),实现根据RGB颜色分量来改变颜色,函数体如下:
void CSpinButtonDlg::RGBColorChange(void)
{
UpdateData(TRUE); //把值从控件拷贝到变量
CBrush colorBrush;
COLORREF clRGB;
clRGB = RGB(m_red,m_green,m_blue); //构造RGB888格式的颜色值
CClientDC *pClientDC;
pClientDC = new CClientDC(this);
colorBrush.CreateSolidBrush(clRGB);
CRect rect(80,120,160,200);
pClientDC->FillRect(rect,&colorBrush); //用画刷填充矩形区域
delete pClientDC;
}
(3)为3个颜色编辑框添加EN_CHANGE事件处理,方法是右键点击编辑框控件添加event handler,选择对应事件消息及函数。注意此处没有为SpinButton添加事件处理,仅仅为编辑框添加就可以实现目的。
void CSpinButtonDlg::OnEnChangeEditRed()
{
RGBColorChange();
}
void CSpinButtonDlg::OnEnChangeEditGreen()
{
RGBColorChange();
}
void CSpinButtonDlg::OnEnChangeEditBlue()
{
RGBColorChange();
}
- 微调按钮SpinButton及实例
- 微调按钮SpinButton及实例 .
- 微调按钮SpinButton及实例
- 微调按钮
- 微调按钮
- Excel微调按钮没反应
- Caffe 实例笔记 1 CaffeNet从训练到分类及可视化参数特征 微调
- 用excel微调按钮调节日期
- 【jQuery】微调按钮插件——spinner
- 微调
- Easyui如何修改时间微调器的两个微调按钮的宽度
- ASP.NET2.0WebRource,开发微调按钮控件
- 微调按钮 Spin Buttons@GTK+ 2.0 中文教程连载
- 第6课 使用下拉列表、微调按钮
- MFC空控件 --- 使用下拉列表、微调按钮
- 【JQuery UI】微调按钮插件——spinner
- QT5 微调器和滑动条的实例
- IOS中用户界面及一些基本按钮相关代码实例
- 索引详解
- 2014阿里前端线上笔试题解答
- Shell编程基础
- 滑动条SliderCtrl及实例
- FSL Imx53启动流程分析(2)-uboot
- 微调按钮SpinButton及实例
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- ertopeoterp[[=[
- Java多线程设计模式(6)两阶段终止模式
- 数据结构实验一--单链表的基本操作的算法
- python“字符对应的十进制”转字符
- VC中编辑框与UpdateData()函数的使用
- Extjs formPanel 显示图片 + 上传
- java 泛型