gpt4 book ai didi

c - 如何设置Unicode控件的字体?

转载 作者:行者123 更新时间:2023-11-30 17:17:42 24 4
gpt4 key购买 nike

为了设置 ANSI 控件的字体,我创建了一个 HFONT 对象并将其发送(通过 SendMessage())到该控件。这就是我创建 HFONT 对象的方式:

HFONT hFont = CreateFont(13, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Tahoma");

我相信除了第 9 个参数之外,对于 Unicode 控件来说,所有参数都是相同的。对于 ANSI 控件,此参数是 ANSI_CHARSET,但对于 Unicode 控件来说应该是什么?

最佳答案

This link 讨论 Unicode 以及如何使用它来实现代码。第一个要求是 #define UNICODE,以便通用 Windows API 将解析为 UNICODE 版本。
在您的示例中,您做出以下声明:
我相信对于 Unicode 控件来说,除了第 9 个参数之外,所有参数都是相同的
不正确,因为最后一个参数必须是 Unicode 字符串。

在您的代码示例中,执行以下操作:

#define UNICODE  //place in project visible .h file

更改:

HFONT hFont = CreateFont(13, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Tahoma");

致:

HFONT hFont = CreateFont(13, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Tahoma");
^^^^^^^^^^^^ ^^^^^^^^

来自MSDN 以下是函数 CreateFont() 中使用的预定义列表(注意 DEFAULT_CHARSET):

网站可能会有所帮助: Programming with Unicode

关于c - 如何设置Unicode控件的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29369786/

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