欢迎来到天天文库
浏览记录
ID:38697277
大小:48.00 KB
页数:5页
时间:2019-06-17
《实验11 进展条、滚动条和滑动条》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验11进展条、滚动条和滑动条实验内容设计一个对话框应用程序Ex_Color,其运行结果如图T11.1所示。操作滚动条、滑动条和进展条控件可以调整RGB颜色的3个颜色分量:R(红色分量)、G(绿色分量)和B(蓝色分量),并根据用户指定的颜色填充控件。实验准备和说明(1)在学习完第四章内容之后计息本次实验。(2)构思本次上机所需要的程序。实验步骤1.创建工作文件夹打开计算机,在”D:VisualC++程序LiMing”文件夹中创建一个新子文件夹“实验11”。2.设计对话框设计对话框的具体步骤如下。(1)
2、启动VisualC++6.0(2)创建一个默认的基于对话框应用程序项目Ex_Color,在“新建”对话框中将项目文件夹定位到D:VisualC++程序LiMing实验11(3)在打开的对话框资源模板中,将对话框的标题属性改为“控件颜色设置”,删除“取消”按钮,并将“确定”按钮的标题属性改为“退出”。(4)显示对话框网络,调整对话框的大小,参照如图T11.1所示控件的布局,向对话框添加入表T11.1所示的控件,调整控件的位置。(5)打开MFCClassWizard,在MFCClassWizard的Me
3、nberVariables页面中,确定Classname中是否已选择了Cex_InputDIg,选中所需的控件ID标识符,双击鼠标或单击AddVariables按钮。依次为如表T11.2所示的控件增加成员变量。3.增加成员函数Draw增加成员函数Draw的具体步骤如下。(1)展开项目工作区窗口ClassView中的Cex_ColorDlg类的所有结点。(2)用鼠标右键单击Cex_ColorDlg类结点,从弹出的快捷菜单中选择”AddMemberFunction(增加成员变量),弹出如图T11.2所示的Ad
4、dMemberFunction对话框。(3)在FunctionType框中输入成员函数类型void,在FunctionDeclaration框中输入成员函数声明者Draw(UINTnID)。保留默认的访问方式(Access)为Public,单击“OK”按钮。(4)定位在Draw函数,添加下列代码:voidCExColorDlg::Draw(UINnID){CWnd*pWnd=GetDLGitem(Nid);CDC*Pdc=pWnd->GetDC();//获得窗口当前的设备环境指针CBrushdrawBru
5、sh;//定义画刷变量drawBrush.CrenateSolidBrush(RGB(m_nRValue,m_nGValue,m_nBValue));//创建一个填充色画刷。RGB是一个颜色宏,用于将指定的红、绿、蓝3种颜色分量转换成一个32位的RGB颜色值CBrush*pOldBrush=pDC->SlelectObject(&drawBrush);CRectrcClient;pWnd->GetClientRect(rcClient);//获取当前控件的客房区大小PDC->Rectangle(rcCli
6、ent);//用当前画刷填充指定的矩形框PDC->SelectObject(pOldBrush);恢复原来的画刷}4.添加初始化代码添加初始化代码的具体步骤如下。(1)在CEx_ColorDlg::OnInitDialog中添加下列代码:BOOLCEx_ColorDlg::OnInitDialog(){CDialog::OnInitDialog();……//设置滚动条、滑动条、进展条、旋转按钮的范围和当前位置m_Scroll.SetScrollRange(0,255);m_Scroll.SetScroll
7、Pos(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);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}(2)编译运行。5.完善代码完善代码的具体步骤如下。(1)用
8、MFCClassWizard在CEX_ColorDlg类中为编辑框IDC_EDIT_R、IDC_EDIT_G和IDC_EDIT_B添加EN_CHANGE的消息映射,使用它们的消息映射函数名都设为OnChangeEdit,并增加下列代码:voidCExColorDlg::OnChangeEdit(){UpdateData();m_Scroll.SetScrollPos(m_nRValue);m_Slider.SetPos(m_n
此文档下载收益归作者所有