您的位置:首页 > 其它

MFC中改变静态文本控件字体字号和颜色的方法

2018-01-14 15:09 405 查看
本人最近正在试着学着做一个简单的MFC程序,在这个过程中有不少地方都是请教网上的大佬前辈们。做完了之后想把自己的成果也分享出来,希望能给其他人提供一些帮助。下面有不少表述都是直接摘抄于本人写的程序设计报告,如有上下文不衔接之处请见谅。
本程序中只修改一个静态文本控件,其ID为IDC_STATIC_TITLE。为控件定义CStatic类型的关联变量m_title,然后为View类添加CFont类型的成员变量。在OnInitialUpdate()中添加如下代码:
    m_Font.CreatePointFont(400, _T("楷体"), NULL);
    m_title.SetFont(&m_Font);
CreatePointFont()提供了一种简单的方法来创建字体,一共有三个参数。第一个参数nPointSize指明字体的高度,第二个参数标注使用的字体名称,第三个参数pDC是指向CDC对象的指针,用来将字体高度转化为逻辑单位,如果是NULL,那么就根据屏幕当前的上下文(context)来转化。
重写OnCtlColor()函数:
HBRUSH CLostAndFoundView::OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor)

{
    HBRUSH hbr = CRecordView::OnCtlColor(pDC,pWnd, nCtlColor);
    // TODO: Change any attributes of the DChere
    int n = pWnd->GetDlgCtrlID();
    if(n == IDC_STATIC_TITLE)
    {
        pDC->SetTextColor(RGB(126,206,255));

    }
    // TODO: Return a different brush if thedefault is not desired
    return hbr;
}
获取静态文本控件的ID,用SetTextColor()设置字体的颜色。
欢迎大家指出不足。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MFC c 后端