HDC hdc = ::GetDC(m_hWnd); LOGFONT lf = { 0 }; lf.lfWeight = 16; //平均宽度 lf.lfHeight = 40;//字体高度 lf.lfCharSet = GB2312_CHARSET;//字符集 lstrcpy(lf.lfFaceName, _T("宋体")); HFONT hfont = ::CreateFontIndirect(&lf);//创建逻辑字体 HFONT holdfont = (HFONT)SelectObject(hdc, hfont); COLORREF oldcolor=GetTextColor(hdc);//获取DC中的文本颜色 /* 参数:HDC hdc 返回值:如果函数调用成功,返回值是作为一个COLORREF的当前正文颜色 如果函数调用失败,返回值是CLR_INVALID 正文颜色即调用TextOut或ExtTextOut来绘制字符的前景颜色 */ COLORREF color1= SetTextColor(hdc, RGB(0,0,255));//设置指定DC中的文字颜色 /* 参数1:HDC hdc 参数2:COLORREF color 颜色设置 返回值:COLORREF 如果函数运行成功,返回当前DC之前的文字颜色 如果函数运行失败,返回CLR_INVALID */ RECT rect = { 50,50,400,400 }; DrawText(hdc, _T("GDI测试"), -1, &rect, DT_LEFT); SetTextColor(hdc, color1);//还原 SelectObject(hdc, holdfont); DeleteObject(hfont);
标签:lf,COLORREF,MFC,颜色,DC,hdc,SetTextColor From: https://www.cnblogs.com/liming19680104/p/17356136.html