引用 4 楼 91program 的回复:
字体:CreateFontIndirect()相关的东东
颜色:就是前景色的颜色
用这个就可以
static文本和字体的改变是通过OnCtlColor向窗口发送消息来改变。
1.在OnCtlColor中加入的程序代码:
HBRUSH CStye_clorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_BTN || nCtlColor == CTLCOLOR_STATIC)//判断是BUTTON还是static
{
pDC->SetTextColor(RGB(255,0,0));//字体颜色是红色
pDC->SetBkMode(TRANSPARENT);
CFont font;
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT)); //清零
lf.lfHeight=20; //字体高度是20
wcscpy(lf.lfFaceName, L"Arial"); //设置字体是Arial类型
font.CreateFontIndirect(&lf); // 生成字体
pDC->SelectObject(&font); //将字体加入环境中
return (HBRUSH)m_HollowBrush;
}
return hbr;
}
但又有新问题了,字虽然变大了,但框中每个字所占的空间没有变大,比如说输入8,它只能显示成0,每个数字的所占空间如何改变啊