我正在尝试绘制一个与Windows XP CheckBox刻度完全相同的刻度。我知道Windows XP复选框刻度是使用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);
}