在Windows编程中,默认的字体往往不够个性。今天,我们就来聊聊如何使用 CreateFont 函数创建自己的字体,让你的界面更加炫酷。
创建字体的关键步骤
首先,你需要了解 CreateFont 函数的14个参数。虽然记住所有参数有些困难,但以下是一些关键点的说明,帮助你快速上手:
- cHeight 和 cWidth 通常取负值,高度为宽度的2倍,例如 -18 和 -9,即可指定 13.5 |(H+W)/2| 磅的字体。
- cWeight 使用 FW_ 开头的宏定义,一般取 FW_NORMAL (400)。
- bItalic、bUnderline、bStrikeOut 直接使用 TRUE 或 FALSE。
- iCharSet 通常使用 DEFAULT_CHARSET。
创建并设置字体
创建完字体后,需要手动触发 WM_SETFONT 消息,让 Windows 将当前字体设置为我们创建的字体。这可以通过 SendMessage 函数实现。
// 窗口过程
LRESULT CALLBACK WndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
// ... 其他代码 ...
switch (message)
{
case WM_CREATE:
// 创建逻辑字体
hFont = CreateFont(
-15/*高度*/,
-7.5/*宽度*/,
0/*不用管*/,
0/*不用管*/,
400 /*一般这个值设为400*/,
FALSE/*不带斜体*/,
FALSE/*不带下划线*/,
FALSE/*不带删除线*/,
DEFAULT_CHARSET, // 这里我们使用默认字符集
OUT_CHARACTER_PRECIS,
CLIP_CHARACTER_PRECIS,
DEFAULT_QUALITY,
FF_DONTCARE,
L
