我一直在尝试使用Win32 API更改窗口中的输出字体。这是我做的,但它不起作用。我该怎么办?
hdc = BeginPaint(hWnd, &ps);
hFont = CreateFont(y_position, closest_match, escapement, orientation, FW_DONTCARE,
no_italic, no_ul, no_xout, ANSI_CHARSET,
OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DRAFT_QUALITY, VARIABLE_PITCH,
TEXT("Tekton Pro")/*"SYSTEM_FIXED_FONT"*/);
SetTextColor(hdc, RGB(255, 0, 0));
TextOut(hdc, 50, y_position, TEXT("test"), strlen("test"));
// TODO: Add any drawing code that uses hdc here...
EndPaint(hWnd, &ps);
DeleteObject(hFont);
答案 0 :(得分:5)
创建字体对象tc(8)
后,您必须致电hFont
将其分配给SelectObject()
。使用完字体后,再次调用hdc
恢复旧字体(因此不会泄露),然后再销毁字体:
SelectObject()