如何解决修改StaticText的字体

Java教程 2025-08-10

查了网上的资料,有比较全面的,但有一个问题就是容易出现一个文字和框子不符合的现象。(仔细看,蓝色字母和背景的灰色有空白)

要消除这个空白,很简单,就是加上m_brush.CreateSolidBrush(RGB(240,240,240));这句话,在构造函数里。其中RGB设置为和背景一样的银灰色。

CPP文件中的语句:

复制代码代码如下:

HBRUSH 类名::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);  //明明没用,但没有它也不行,很奇怪!

if (pWnd- >GetDlgCtrlID()==IDC_STATIC_×××)

{

pDC- >SetTextColor(RGB(0,0,255));  //蓝色字体

pDC- >SelectObject(&m_font);   //设置已设置的字体

}

return m_brush;

}

结果: