- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验11 进展条、滚动条和滑动条
实验11 进展条、滚动条和滑动条
实验内容
设计一个对话框应用程序Ex_Color,其运行结果如图T11.1所示。操作滚动条、滑动条和进展条控件可以调整RGB颜色的3个颜色分量:R(红色分量)、G(绿色分量)和B(蓝色分量),并根据用户指定的颜色填充控件。
实验准备和说明
(1) 在学习完第四章内容之后计息本次实验。
(2) 构思本次上机所需要的程序。
实验步骤
1. 创建工作文件夹
打开计算机,在”D:\Visual C++程序\LiMing” 文件夹中创建一个新子文件夹“实验11”。
2. 设计对话框
设计对话框的具体步骤如下。
(1) 启动Visual C++6.0
(2) 创建一个默认的基于对话框应用程序项目Ex_Color ,在“新建”对话框中将项目文件夹定位到D:\Visual C++程序\LiMing\实验11
(3) 在打开的对话框资源模板中,将对话框的标题属性改为“控件颜色设置”,删除“取消”按钮,并将“确定”按钮的标题属性改为“退出”。
(4) 显示对话框网络,调整对话框的大小,参照如图T11.1所示控件的布局,向对话框添加入表T11.1所示的控件,调整控件的位置。
(5) 打开MFC ClassWizard,在MFC ClassWizard 的Menber Variables页面中,确定Class name 中是否已选择了Cex_InputDIg,选中所需的控件ID标识符,双击鼠标或单击Add Variables 按钮。依次为如表T11.2所示的控件增加成员变量。
3. 增加成员函数Draw
增加成员函数 Draw 的具体步骤如下。
(1)展开项目工作区窗口Class View中的Cex_ColorDlg类的所有结点。
(2)用鼠标右键单击Cex_ColorDlg 类结点,从弹出的快捷菜单中选择” Add Member Function(增加成员变量),弹出如图T11.2所示的Add Member Function 对话框。
(3)在Function Type 框中输入成员函数类型 void ,在Function Declaration 框中输入成员函数声明者Draw(UINT nID)。保留默认的访问方式(Access)为Public,单击“OK”按钮。
(4)定位在Draw 函数,添加下列代码:
void CEx ColorDlg::Draw(UIN nID)
{
CWnd*pWnd=GetDLGitem(Nid);
CDC*Pdc=pWnd-GetDC();// 获得窗口当前的设备环境指针
CBrush drawBrush;//定义画刷变量
drawBrush.CrenateSolidBrush(RGB(m_nRValue,m_nGValue,m_nBValue));
//创建一个填充色画刷。RGB是一个颜色宏,用于将指定的红、绿、蓝3种颜色分量转换成一个32位的RGB颜色值
CBrush*pOldBrush=pDC-SlelectObject(drawBrush);
CRect rcClient;
pWnd-GetClientRect(rcClient);//获取当前控件的客房区大小
PDC-Rectangle(rcClient);//用当前画刷填充指定的矩形框
PDC-SelectObject(pOldBrush );恢复原来的画刷
}
4.添加初始化代码
添加初始化代码的具体步骤如下。
(1) 在CEx_ColorDlg::OnInitDialog中添加下列代码:
BOOL CEx_ColorDlg::OnInitDialog ()
{
CDialog:: OnInitDialog();
……
//设置滚动条、滑动条、进展条、旋转按钮的范围和当前位置
m_Scroll.SetScrollRange(0,255);
m_Scroll.SetScrollPos(m_nRValue);
m_Slider.SetRange(0,255);
m_Slider.SetPos(m_nGValue);
m_Progress.SetRange(0,255);
m_Progress.SetPos(m_nBValue);
m_Spin.SetRange(0,255);
m_Spin.SetPos(m_nBValue);
return TRUE; //return TRUE unless you set the focus to a control
}
(2)编译运行。
5.完善代码
完善代码
您可能关注的文档
- 大学英语试题及答案3.doc
- 外研初一英语下册Module3复习题及答案.doc
- 英语同义词用法.doc
- 考研英语阅读理解常考词汇总结.docx
- 难 七年级英语测试题.doc
- 阅读态度词汇.doc
- unit 2 词汇导学案.doc
- c++模拟时钟实验报告.docx
- 高一英语Book4 Unit 2 Working the land.doc
- 七年级英语第一次月考试题英语.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)