我正在尝试绘制一个看起来与 Windows XP CheckBox 勾号完全相同的勾号。我知道 Windows XP Checkbox 勾选是使用 Marlett 字体绘制的,我也在这样做。
我的问题是我的 Marlett 蜱虫看起来很矮,而实际的蜱虫更高更薄。我怎样才能让我的蜱更高更薄?
请注意,与实际相比,我在左侧的刻度是如何下蹲的:
我需要更改哪些CreateFont()
参数才能获得与 Windows XP 相同的刻度?
void draw(HDC hdc, PAINTSTRUCT ps)
{
// Draws a marlett tick that is too squat, should I
// change the 1st param(height one) or something else?
HFONT marlettFont = CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_OUTLINE_PRECIS,
CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, VARIABLE_PITCH, TEXT("Marlett"));
SelectObject(hdc,marlettFont);
SetTextColor(hdc, RGB(0,0,0));
DrawTextEx(hdc, TEXT("a"), -1, &tickRect, DT_CENTER | DT_VCENTER | DT_NOCLIP, NULL);
}