MFC中能改变TextOut输出的字体的大小吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中能改变TextOut输出的字体的大小吗相关的知识,希望对你有一定的参考价值。

当然可以,过程稍复杂,如下例子:
CDC *pDC;
//这里要将 pDC = 你要写字的那个窗口的DC
CFont newfont;//用来保存新字体
CFont *oldFont;//用来保存旧字体
newfont.CreateFontW(20,
11,
0,
0,
FW_NORMAL,
FALSE,
FALSE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH|FF_SWISS,
_T("宋体")
);//创建新字体
oldFont=pDC->SelectObject(&newfont);//选择新字体
pDC->SetTextColor(RGB(0,255,0));//设置字体颜色
pDC->TextOutW(10, 10, pDoc->text); //输出
pDC->SelectObject(oldFont);//选择回老字体
newfont.DeleteObject();//删除新字体
参考技术A 我来告诉你标准答案!使用SetBkMode(TRANSPARENT);设为透明的文字背景,然后输出文字,文字后就不会将图覆盖。 参考技术B 需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了。例子:
1、改静态文体的ID,如:IDC_STATIC1
2、添加一个Edit控件,建立一个关联的控件m_editControl。本回答被提问者采纳
参考技术C 来告诉你标准答案!使用SetBkMode(TRANSPARENT);设为透明的文字背景,然后输出文字,文字后就不会将图覆盖。

MFC 编辑框字体大小问题

步骤一:在Dlg类中增加一个类成员变量: CFont m_editFont;

注意:这里Font对象必须是类成员变量,不能是局部变量,否则会出现只改变了光标的大小,而不能改变字体的大小。

步骤二:在OnInitDialog方法中增加下列语句:

m_editFont.CreatePointFont(180, "宋体");
m_editPlace.SetFont(&m_editFont); // 设置新字体

这里所谓的m_editPlace是什么?编辑框的变量么

MFC中用SetFont的基类一般情况只用CWnd,从CWnd继承的类都可以用,你这个m_editPlace,从命名来看,可能是CRichEditCtrl吧。 参考技术A 编辑框所关联的变量
MFC可以通过ctrl+w打开类向导然后选择上面的成员,对自己程序中的控件关联成一个变量这个变量类型可以是数据类型也可以是控件类型,通过UpdateData()函数来更新这个数据!
参考技术B 你应该把代码全贴上来 这一句怎么判断 ,我感觉可能是类对象。

以上是关于MFC中能改变TextOut输出的字体的大小吗的主要内容,如果未能解决你的问题,请参考以下文章

在C++的MFC工具栏按钮中实现改变单文档字体大小的方法

VS2008中怎样修改MFC界面 字体大小

MFC改变 随着控件大小变化 改变控件字体的大小

VC/MFC怎么改变状态栏字体颜色和大小

MFC里 用pDC->TextOut 这个函数怎么实现未知数据输出?

如何改变mfc对话框中的控件中的字体大小