实验11 进展条、滚动条和滑动条.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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.完善代码 完善代码

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档