我在我在运行时创建几个静态控件和控件CEdit的一个MFC对话框程序。以某种方式在这些对照中的文本不启用的Cleartype(的Cleartype在Windows平滑文本通过子像素的定位和着色)。

然而,当一个手动添加一个“编辑控制”或在从Visual Studio工具箱设计时“静态文本”控制这些控制被启用的Cleartype。

因此以某种方式从工具箱的控制是从在运行时创建的控件不同? 有谁知道如何启用ClearType在运行时创建的文本控件? 下面是在该对话框的OnCreate功能的静态控件控制创建的代码片断:

CRect crc; crc.SetRect(100, 10, 300, 40);
m_static.Create(_T("Personeelsnummer?"), WS_CHILD | WS_VISIBLE, crc, this, IDC_STATIC1);

在此的CStatic控制的文本未启用的Cleartype。设置不同的字体没有效果。

我迷路。

有帮助吗?

解决方案

我已经找到了答案,以我自己的问题。在运行时创建的控制缺乏的ClearType字体是相关的。当一个在运行时创建的控制使用默认字体它是由ClearType的影响,并且应当由不同的字体来代替。

在我的问题,我注意到,我曾试图设置不同的字体,但是我已经建立了本地功能的字体。在退出该字体设置的字体被你摧毁,所以我没有看到任何区别功能后。我现在有当父的CWnd被破坏其仅破坏了字体的类的成员变量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top