MFC设置字体及颜色.docx

上传人:牧羊曲112 文档编号:3161525 上传时间:2023-03-11 格式:DOCX 页数:5 大小:38.29KB
返回 下载 相关 举报
MFC设置字体及颜色.docx_第1页
第1页 / 共5页
MFC设置字体及颜色.docx_第2页
第2页 / 共5页
MFC设置字体及颜色.docx_第3页
第3页 / 共5页
MFC设置字体及颜色.docx_第4页
第4页 / 共5页
MFC设置字体及颜色.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《MFC设置字体及颜色.docx》由会员分享,可在线阅读,更多相关《MFC设置字体及颜色.docx(5页珍藏版)》请在三一办公上搜索。

1、MFC设置字体及颜色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

2、 :字体高度. 三中情况 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 con

3、trol 小小说明:在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-Ge

4、tDlgCtrlID= 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

5、 ) ); 在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 rc

6、Client; 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.Delet

7、eDC; 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); /重载方法原形声明 *.h afx_msg BOOL OnEraseBkgnd(CDC* pDC);/对话框背景 . BEGIN_MESSAGE_MAP(CButtonDlg, CDialog) ON_WM_CTLCOLOR /建立消息映射 *.cpp ON_WM_ERASEBKGND /设置对话框图片背景 END_MESSAGE_MAP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号