绘制Marlett Tick:不够高,不够瘦

时间:2012-07-10 09:01:21

标签: c++ winapi gdi

我正在尝试绘制一个与Windows XP CheckBox刻度完全相同的刻度。我知道Windows XP复选框刻度是使用Marlett字体绘制的,我也是这样做的。

我的问题是我的Marlett嘀嗒看起来很蹲,而实际的蜱更高更薄。如何让我的蜱更高更瘦?

注意左边的刻度与实际相比是如何下蹲: enter image description here

我需要更改哪些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);  
}

0 个答案:

没有答案