MFC设置字体及颜色.doc_第1页
MFC设置字体及颜色.doc_第2页
MFC设置字体及颜色.doc_第3页
MFC设置字体及颜色.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MFC设置字体及颜色设置字体函数原型: BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename ); 参数说明: nHeight :字体高度. 三中情况 1、0:字体的高度值(设备坐标);2、=0:字体采用缺省值. 3、CreateFont(-11,0,0,0,100,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,Arial); CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDIT1); m_Edit-SetFont(m_Font,FALSE); return TRUE; / return TRUE unless you set the focus to a control 小小说明:在OnInitDialog()中的/CFont m_Font;前的/号去掉,将类声明中的CFont m_Font;去掉会是什么结果?请自己试试.改变Edit字体颜色!HBRUSH CButtonDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor); / TODO: Change any attributes of the DC here if(nCtlColor = CTLCOLOR_EDIT) if(pWnd-GetDlgCtrlID()= IDC_EDIT1) pDC-SetTextColor(RGB(255,255,0); pDC-SetBkColor(RGB(251, 247, 200); pDC-SetBkMode(TRANSPARENT); return (HBRUSH) m_brush.GetSafeHandle(); / TODO: Return a different brush if the default is not desired return hbr;CBrush m_brushedit; m_brushedit.CreateSolidBrush (RGB ( 255, 255, 0 ) ); 在Dlg:OnCtlColor函数中加入: if(nCtlColor = CTLCOLOR_EDIT) pDC-SetTextColor(RGB(255,0,0); /文字颜色 pDC-SetBkColor(RGB(255,255,200); /文字背景颜色 return (HBRUSH)m_brushedit.GetSafeHandle() ; /edit框的颜色 改变对话框背景CBitmap m_BkGndBmp;m_BkGndBmp.LoadBitmap(IDB_BITMAP1);BOOL CButtonDlg:OnEraseBkgnd(CDC* pDC)CRect rcClient;GetClientRect(&rcClient);BITMAP bm;m_BkGndBmp.GetBitmap(&bm);CDC memDC;memDC.CreateCompatibleDC(pDC);CBitmap *pOldBmp = memDC.SelectObject(&m_BkGndBmp);pDC-StretchBlt(0,0,rcClient.Width(),rcClient.Height(),&memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);memDC.SelectObject(pOldBmp);memDC.DeleteDC();return TRUE;/ return CDialog:OnEraseBkgnd(pDC);在一个mfc应用程序中,要改变控件的背景色可通过重载onctlcolor()函数来实现。方法是在该函数中设置所需颜色后再返回一个画刷句柄便可重绘控件背景色。onctlcolor()函数对于控件背景色的处理是通过捕捉相应的控件消息来实现的。常用的此类消息有:ctlcolor_dlg 对话框ctlcolor_edit 编辑框ctlcolor_listbox 列表框ctlcolor_msgbox 消息框ctlcolor_scrollbar 滑动条ctlcolor_static 静态文本框、矩形等。以下示例代码说明如何更改以上控件的背景色:afx_msg hbrush onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor); /重载方法原形声明 *.hafx_msg BOOL OnEraseBkgnd(CDC* pDC);/对话框

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论