gpt4 book ai didi

visual-studio-2008 - 为运行时创建的 MFC 文本控件启用 Windows Cleartype

转载 作者:行者123 更新时间:2023-12-04 07:02:46 25 4
gpt4 key购买 nike

我有一个 MFC 对话框程序,在其中我在运行时创建了一些 CStatic 和 CEdit 控件。不知何故,这些控件中的文本没有启用 Cleartype(Windows 中的 Cleartype 通过子像素定位和着色来平滑文本)。

但是,当在设计时从 Visual Studio 工具箱手动添加“编辑控件”或“静态文本”控件时,这些控件启用了 Cleartype。

那么不知何故工具箱中的控件与运行时创建的控件不同?
有谁知道如何为运行时创建的文本控件启用 Cleartype?
下面是在对话框的 OnCreate 函数中创建 CStatic 控件的代码片段:

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 被销毁时才会被销毁。

关于visual-studio-2008 - 为运行时创建的 MFC 文本控件启用 Windows Cleartype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com