


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
改变Push Button背景色 在Windows中Edit,StaticBox的背景色都可以通过处理WM_CTLCOLOR消息来改变,但Push Button却不行。唯一的方法是使用OwnerDraw风格的按钮。本文讲述的方法是使用CButton的派生类。class CCButton : public CButtonDECLARE_DYNAMIC(CCButton)public: CCButton(); virtual CCButton(); BOOL CCButton:Attach(const UINT nID, CWnd* pParent)protected: virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);/必需重载的函数public: COLORREF m_fg, m_bg, m_disabled_fg, m_disabled_bg;/四种颜色分别为文字,背景,失效时文字,失效时背景;实现DrawItemvoid CCButton:DrawItem(LPDRAWITEMSTRUCT lpDIS) CDC* pDC = CDC:FromHandle(lpDIS-hDC);/?DC UINT state = lpDIS-itemState; /得到状态 CRect focusRect, btnRect;/两个矩形,表示得当输入焦点时的虚线矩形和按钮矩形 focusRect.CopyRect(&lpDIS-rcItem); btnRect.CopyRect(&lpDIS-rcItem); / /调整虚线矩形 / focusRect.left += 4; focusRect.right -= 4; focusRect.top += 4; focusRect.bottom -= 4; / / 得当Button上文字 / const int bufSize = 512; TCHAR bufferbufSize; GetWindowText(buffer, bufSize); / 使用m_fg, m_bg颜色利用 Draw3dRect(.)绘制按钮边框 / FillRect(.)填充按钮内部 / DrawText(.)绘制文字 /根据当前状态调整显示 / if (state & ODS_FOCUS) ./得到输入焦点,通过focusRect画虚线 if (state & ODS_SELECTED) ./ 被按下,绘制下陷边框 else if (state & ODS_DISABLED) /失效,通过m_disabled_fg, m_disabled_bg 重绘按钮内部 CCButton是CButton派生类,具有CButton的全部成员函数,但在创建时需要使用BS_OWNERDRAW风格。如果按钮不是动态生成,使用Attach函数使CCButton代替原来按钮的窗口过程。BOOL CCButton:Attach(const UINT nID, CWnd* pParent) GetDlgItem(nID)-ModifyStyle(0,BS_OWNERDRAW,0); if (!SubclassDlgItem(nID, pParent) return FALSE; return TRUE; 如在一对话框的InitDialog(.)中加入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年专业服务行业共享经济市场前景分析报告
- 2025年电子游戏行业虚拟现实技术应用前景预测报告
- 2025年零售行业移动支付应用前景研究报告
- 2025年金融行业区块链数字货币应用前景研究报告
- 2025年人类基因编辑行业伦理风险与医疗应用前景研究报告
- 商场全员安全培训制度课件
- 2025年区块链技术在金融行业应用前景分析研究报告
- 宁波市2025浙江宁波市交通运输局局属事业单位招聘3人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国文联所属单位招聘拟聘用人员笔试历年参考题库附带答案详解
- 吉林省2025年度柳河县事业单位域外人才回引笔试历年参考题库附带答案详解
- 创建平安医院课件
- 2025年高压电工考试题库:基础理论知识要点
- 2025中秋国庆双节安全培训
- 刑事谅解协议书范本6篇
- 护理员安全培训内容课件
- Starter Unit 1 Hello!单元测试(解析版)
- 金税四期培训
- 托管班安全培训课件
- 汽车制造生产知识培训课件
- 2025年县处级领导干部政治理论考试试题库(附答案)
- 2025-2030中国固态电池电解质材料研发突破与专利布局分析报告
评论
0/150
提交评论