



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
改变控件字体大小颜色的方法在VC6.0中,不像其它开发工具那样能够轻易使用属性设置对象的各种状态,如文字颜色、背景等等使用OnCtlColor(在MSDN中的解释是:当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC),Ctrl+W打开ClassWizard,在Class Name下拉列表中选择要设置字体颜色的对话框标识,Message下拉列表中选择WM_CtlColor并双击,则会增加OnCtlColor成员函数,在“/ TODO: Change any attributes of the DC here”下面输入: if(IDC_=pWnd-GetDlgCtrlID() pDC-SetTextColor(RGB(255,0,0); /文字设置为红色代码中IDC_是你要设置控件的标识。/ CFont font;font.CreatePointFont(100, _T(宋体);/改变大小m_wndEditBox.SetFont(&font);/ /改变字体颜色/ 首先在自己需要设置界面的对话框上点击右键-在右侧属性栏中加入WM_CTLCOLOR消息-自动生成OnCtlColorHBRUSH CSingleBoxDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)HBRUSH hbr; if(CTLCOLOR_STATIC=nCtlColor & pWnd- GetDlgCtrlID()=IDC_STRY) /只对IDC_TOOL这一个静态文本控件起作用 pDC- SetBkColor(RGB(236,233,216); /背景色为窗口颜色pDC- SetTextColor(RGB(255,0,0); /前景色为红色hbr =CreateSolidBrush(RGB(236,233,216); /其它区域也为窗口颜色 else hbr=CDialog:OnCtlColor(pDC, pWnd, nCtlColor); return hbr; / / HBRUSH CMyDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of the DC here/change the color of dialogif(nCtlColor=CTLCOLOR_DLG)pDC-SetBkColor(RGB(100,150,200);return m_hDlgFace;/change the color of staticif(nCtlColor=CTLCOLOR_STATIC)pDC-SetBkColor(RGB(100,150,200);pDC-SetTextColor(RGB(0,0,255);return m_hDlgFace;/EDIT控件只能用这种方法,我也不知道为什么 if(pWnd-GetDlgCtrlID()=IDC_EDIT1)pDC-SetBkColor(RGB(100,180,200);return m_hPage2Face;return hbr; / 很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息,使你可以告诉Windows在画各种控件的背景时用什么刷子。在Windows要画控件的时候,它发送WM_CTLCOLOR给控件的父窗口。这是你改变控件背景的好机会。WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右键-在右侧属性栏中加入WM_CTLCOLOR消息-自动生成OnCtlColor()函数,此函数可以对本对话框的控件的界面外观做修饰,用法如下:将类向导产生的函数做如下修改:HBRUSH CDialogColor:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC,pWnd, nCtlColor);/ TODO: Change any attributes of theDC here/设置显示字体CFont * cFont=new CFont;cFont-CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0, ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,Arial);/对特定的控件做修改switch(nCtlColor)case CTLCOLOR_STATIC: /对所有静态文本控件的设置pDC-SetBkMode(TRANSPARENT); /设置背景为透明pDC-SetTextColor(RGB(255,255,0); /设置字体颜色pWnd-SetFont(cFont); /设置字体HBRUSH B = CreateSolidBrush(RGB(125,125,255); /创建画刷return (HBRUSH) B; /返回画刷句柄case CTLCOLOR_EDIT: /对所有编辑框的设置pDC-SetBkMode(TRANSPARENT);pDC-SetTextColor(RGB(255,255,0);pWnd-SetFont(cFont);HBRUSH B = CreateSolidBrush(RGB(125,125,255);return (HBRUSH) B;default:return CDialog:OnCtlColor(pDC,pWnd, nCtlColor);注:case的类别有以下几种:CTLCOLOR_BTN 按钮控件CTLCOLOR_DLG 对话框CTLCOLOR_EDIT 编辑框CTLCOLOR_LISTBOX 列表框CTLCOLOR_MSGBOX 消息框CTLCOLOR_SCROLLBAR 滚动条CTLCOLOR_STATIC 静态文本2.你可能觉得对所有的控件使用统一的界面设置觉得不自由,其实VC同样可以对特定的ID的控件进行设置,方法如下:switch (pWnd-GetDlgCtrlID() /针对ID为IDC_CTL1、IDC_CTL2和IDC_CTL3的控件进行同样的设置case IDC_CTL1:case IDC_CTL2:case IDC_CTL3:pDC-SetBkMode(TRANSPARENT);pDC-SetTextColor(RGB(255,255, 0);pWnd-SetFont(cFont);HBRUSH B = CreateSolidBrush(RGB(125,125,255);return (HBRUSH) B;default:return CDialog:OnCtlColor(pDC, pWnd, nCtlColor);通过消息WM_CTLCOLOR我们可以改变对话框或一些特殊控件的背景颜色1、添加WM_CTLCOLOR消息映射。2、在CWnd:OnCtlColor里面作相应的处理HRESULT CWnd:OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)switch (nCtlColor) case CTLCOLOR_BTN: / Button control pDC-SetBkColor( RGB( 255, 0, 0) ); break; case CTLCOLOR_DLG: / Dialog box break; case CTLCOLOR_EDIT: / Edit control COLORREF bkColor = RGB(255,0,0);CRect rect; pWnd-GetClientRect(&rect);CBrush br; br.CreateSolidBrush(bkColor);pDC-FillRect(rect, &br);pDC-SetBkColor(bkColor); break; case CTLCOLOR_LISTBOX: / List-box control break; case CTLCO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南长沙雨花区雅境中学2026届九上化学期中联考试题含解析
- 2026届重庆八中学、九十五中学等学校化学九年级第一学期期中经典试题含解析
- 青川抽污水施工方案设计
- 河北省保定市清苑区北王力中学2026届九上化学期中教学质量检测试题含解析
- 高层过道清理方案范本
- 员工培训结交客户
- 装配生产工艺培训大纲
- 陕西省宝鸡岐山县联考2026届化学九上期中检测模拟试题含解析
- 2026届江苏省连云港市新海实验中学英语九年级第一学期期末学业水平测试试题含解析
- 2026届重庆市西南大附属中学化学九年级第一学期期末预测试题含解析
- 2023年重庆市大渡口区春晖路街道阳光社区工作人员考试模拟试题及答案
- 医疗机构门诊患者流行病学调查表
- GB/T 18253-2000钢及钢产品检验文件的类型
- 虚拟仪器-第4章-LabVIEW的程序结构课件
- 2022年太原市第二热力有限责任公司招聘笔试试题及答案解析
- 《中职地理》配套教学课件
- 水运工程质量检验标准表格
- DB51∕T 2571-2019 林下黄精种植技术规程
- 世园会周边环境综合整治工作汇报
- 金相检验4-结构钢的金相检验
- 不同截面钢牛腿设计计算(excel)
评论
0/150
提交评论