



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【例Ex_BkColor】调整对话框背景颜色 用MFC AppWizard(exe)创建一个默认的对话框应用程序Ex_BkColor。 将对话框的标题设为“调整对话框背景颜色”。删除“TODO: 在这里设置对话控制。”静态文本控件和取消按钮,将确定按钮标题改为“退出”。 打开对话框网格,调整对话框大小为,参看图11.38的控件布局,添加如表11.19所示的一些控件。表11.19 对话框添加的控件添加的控件ID标识符标 题其他属性水平滚动条(红色)IDC_SCROLLBAR_RED默认滑动条(绿色)IDC_SLIDER_GREEN默认滑动条(蓝色)IDC_SLIDER_BLUE默认 打开ClassWizard的Member Variables页面,选中所需的控件ID标识符,双击鼠标。依次添加下列控件变量,如表11.20所示。表11.20 控件变量控件ID标识符变量类别变量类型变量名范围和大小IDC_SCROLLBAR_REDControlCScrollBarm_scrollRedIDC_SLIDER_GREENControlCSliderCtrlm_sliderGreenIDC_SLIDER_GREENValueintm_nGreenIDC_SLIDER_BLUEControlCSliderCtrlm_sliderBlueIDC_SLIDER_BLUEValueintm_nBlue 为CEx_BkColorDlg类添加两个成员变量,一个是int型m_nRedValue,用来指定RGB中的红色分量,另一个是画刷CBrush类对象m_Brush,用来设置对话框背景所需要的画刷。在OnInitDialog中添加下列初始化代码:BOOL CEx_BkColorDlg:OnInitDialog()CDialog:OnInitDialog();/ TODO: Add extra initialization herem_scrollRed.SetScrollRange(0, 255);m_sliderBlue.SetRange(0, 255);m_sliderGreen.SetRange(0, 255);m_nBlue = m_nGreen = m_nRedValue = 192;UpdateData( FALSE );m_scrollRed.SetScrollPos(m_nRedValue);return TRUE; / return TRUE unless you set the focus to a control 用MFC ClassWizard为CEx_BkColorDlg类添加WM_HSCROLL消息映射,并添加下列代码:void CEx_BkColorDlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) int nID = pScrollBar-GetDlgCtrlID();/ 获取对话框中控件ID值if (nID = IDC_SCROLLBAR_RED)/ 若是滚动条产生的水平滚动消息switch(nSBCode)case SB_LINELEFT:m_nRedValue-;/ 单击滚动条左边箭头break;case SB_LINERIGHT:m_nRedValue+;/ 单击滚动条右边箭头break;case SB_PAGELEFT:m_nRedValue -= 10;break;case SB_PAGERIGHT:m_nRedValue += 10;break;case SB_THUMBTRACK:m_nRedValue = nPos;break;if (m_nRedValue255) m_nRedValue = 255;m_scrollRed.SetScrollPos(m_nRedValue);Invalidate();/ 使对话框无效,强迫系统重绘对话框CDialog:OnHScroll(nSBCode, nPos, pScrollBar); 用MFC ClassWizard为CEx_BkColorDlg类添加WM_CTLCOLOR消息映射,并添加下列代码:HBRUSH CEx_BkColorDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) UpdateData(TRUE);COLORREF color = RGB(m_nRedValue, m_nGreen, m_nBlue);m_Brush.Detach();/ 使画刷和对象分离m_Brush.CreateSolidBrush(color);/ 创建颜色画刷pDC-SetBkColor( color );/ 设置背景颜色return (HBRUSH)m_Brush;/ 返回画刷句柄,以便系统使此画刷绘制对话框代码中,COLORREF是用来表示RGB颜色的一个32位的数据类型,它是Visual C+中一种专门用来定义颜色的数据类型。(画刷的详细用法以后还会讨论) 编译运行并测试。需要说明的是:由于滚动条和滑动条等许多控件都能产生WM_HSCROLL或WM_VS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮料合作加盟合同范本
- 公司聘用文秘合同范本
- 隔热夹芯板采购合同范本
- 公司代签合同范本
- 香港公司股权合同范本
- 基地鱼塘租售合同范本
- 新款合同范本模板
- 衣物袋采购合同范本
- 仓库旧料回收合同范本
- 车辆安全协议合同范本
- XXX加油站风险分级管控台账
- 甘12J8 屋面标准图集
- 购买设备合同
- GB/T 28288-2012足部防护足趾保护包头和防刺穿垫
- GB/T 19666-2019阻燃和耐火电线电缆或光缆通则
- GA/T 1241-2015法庭科学四甲基联苯胺显现血手印技术规范
- 小学和初中科学教学衔接
- 《循证医学》治疗性研究证据的评价和应用
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
- JJF 1847-2020 电子天平校准规范-(高清现行)
评论
0/150
提交评论