c++ - 글꼴 - HFONT에서 수정 된 HFONT 만들기



winapi (2)

이런 식으로 오류 검사는 독자의 연습 문제로 남겨 둡니다. :-)

static HFONT CreateBoldWindowFont(HWND window)
{
    const HFONT font = (HFONT)::SendMessage(window, WM_GETFONT, 0, 0);
    LOGFONT fontAttributes = { 0 };
    ::GetObject(font, sizeof(fontAttributes), &fontAttributes);
    fontAttributes.lfWeight = FW_BOLD;

    return ::CreateFontIndirect(&fontAttributes);
}

static void PlayWithBoldFont()
{
    const HFONT boldFont = CreateBoldWindowFont(someWindow);
    .
    . // Play with it!
    .
    ::DeleteObject(boldFont);
}

https://src-bin.com

나는 Win32 API와 C / C ++를 사용하고있다. 나는 HFONT를 가지고 그것을 사용하여 새로운 HFONT를 만들고 싶습니다. 새 글꼴은 굵게 표시된다는 점을 제외하고는 똑같은 글꼴 메트릭을 사용해야합니다. 같은 것 :

HFONT CreateBoldFont(HFONT hFont) {
    LOGFONT lf;
    GetLogicalFont(hFont, &lf);
    lf.lfWeight = FW_BOLD;
    return CreateFontIndirect(&lf);
}

"GetLogicalFont"는 누락 된 API입니다 (제가 말할 수있는 한). 그것을 할 다른 방법이 있습니까? Windows Mobile 5 이상에서 작동하는 것이 좋습니다.






winapi