MFC静态文本如何设置字体?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC静态文本如何设置字体?相关的知识,希望对你有一定的参考价值。

参考技术A static
CFont
font;
//定义静态变量,也可以定义全局变量或者对话框的成员变量,临时变量或者局部变量是不行的
font.CreatePointFont(120,
"隶书");
GetDlgItem(IDC_STATIC1)->SetFont(&font);
可将静态文本控件IDC_STATIC1的字体设置为隶书

静态文本字体参数变化

【中文标题】静态文本字体参数变化【英文标题】:Static text font parameters change 【发布时间】:2016-11-14 08:31:40 【问题描述】:

我正在通过使用表单设计器编辑 .rc 文件为 MFC 类创建对话框表单。我有对话框表单和标签。

找不到如何更改标签的字体。

在属性窗口中我看到:

但是没有字体属性。他们在哪里?

【问题讨论】:

你需要为此编写代码。 【参考方案1】:

你必须为此编写代码。 例如

CFont font;
font.CreateFont(
      12,                        // nHeight
      0,                         // nWidth
      0,                         // nEscapement
      0,                         // nOrientation
      FW_NORMAL,                 // nWeight
      FALSE,                     // bItalic
      FALSE,                     // bUnderline
      0,                         // cStrikeOut
      ANSI_CHARSET,              // nCharSet
      OUT_DEFAULT_PRECIS,        // nOutPrecision
      CLIP_DEFAULT_PRECIS,       // nClipPrecision
      DEFAULT_QUALITY,           // nQuality
      DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
      _T("Arial"));                 // lpszFacename

 GetDlgItem(IDC_STATIC1)->SetFont(&font);

MSDN Link

Example

【讨论】:

天啊,为什么用这种古老的方式?也许是功能,但我找不到原因 为什么采用这种古老的方式?鉴于 MFC 于 1992 年首次发布,我认为这似乎还不错。 :) 如何使用它来更改字体大小?我尝试改变高度,但没有任何反应 @Dorokun192 能否请您显示您的代码,您如何使用代码,检查您在 GetDlgIem() 函数中传递的 ID。 @Dorokun192,你应该声明“CFont font;”作为成员数据,而不是局部变量。【参考方案2】:

默认采用对话框字体。

如果您更改对话框的字体(通过更改对话框的属性),所有内容都将以相同的字体显示。

如果您只想更改标签的字体,则必须按照 Himanshu 告诉您的古老方式进行。

【讨论】:

以上是关于MFC静态文本如何设置字体?的主要内容,如果未能解决你的问题,请参考以下文章

MFC静态文本控件怎么设置字体

MFC设置静态文本框,编辑框等控件背景和字体颜色

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

静态文本字体参数变化

MFC文本框字体颜色设置

MFC 请教怎样设置STATIC TEXT控件的字体大小和颜色