静态文本字体参数变化

Posted

技术标签:

【中文标题】静态文本字体参数变化【英文标题】: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静态文本控件怎么设置字体

如何更改静态文本控件(winapi)的字体?

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

MFC 静态文本如何调整字体大小

静态布局字体标签

游戏开发解答Unity发布微信小游戏,中文字无法显示的问题(自制字体库 | Font | Custom set | 动态字体 | 静态字体)