2

我正在尝试绘制一个看起来与 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);  
}
4

0 回答 0