如何修改CEdit&CB中文本的字体大小及颜色

 我来答
抱犊值日见精神d
2013-11-01 · TA获得超过280个赞
知道答主
回答量:114
采纳率:0%
帮助的人:110万
展开全部
在下例中,要修改颜色的文本框对象ID为:IDC_EDIT。 HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if(pWnd == &m_edit) { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,0,255)); HBRUSH newHbr = CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); // TODO: Return a different brush if the default is not desired return newHbr; } return hbr; } 改变字体的大小:=========================================思路:调用控件的SetFont方法。 步骤:1:添加字体类对象 //假设你已有了名为My的对话框工程.并有一个ID=IDC_EDIT1的Edit控件. class CMyDlg : public CDialog { public: CFont *m_Font;//最好用指针,我用对象调用好像不起作用,不清楚原因! m_Font = new CFont;//结束时记得要delete m_Font; ........ }; 2.新建字体&设置字体myFont.CreateFont(41,0,0,0, 100,FALSE,FALSE,0,ANSI_CHARSET, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,FF_SWISS,(LPCTSTR)"Arial");//创建字体 CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDITBegin); m_Edit->SetFont(&myFont,FALSE);//设置字体 创建字体函数BOOL CreateFont的参数说明: =============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、 SetFont(&fnt_static); GetDlgItem(IDC_BUTTONGenerate)-> SetFont(&fnt_static); 其中,IDC_STATIC,IDC_BUTTON分别为静态文本和按钮的ID。 PS:以上讨论的方法只是一次修改一个控件的属性,显然这样做是不符合面向对象的思想的。 一了百了的方法:从CEdit类派生出一个可以自己处理字体、背景和字体颜色的类。具体怎样做,在研究出来后再写一篇。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式