Если вы переклассифицируете стандартный общий элемент управления, который уже имеет свой собственный дескриптор шрифта, используйте этот подход: просто создайте шрифт, используя CreateFont
или CreateFontIndirect
, и установите его, используя сообщение WM_SETFONT
(в MFC и ATL будет быть соответствующей SetFont
функцией). Когда шрифт больше не нужен, уничтожьте шрифт, используя DeleteObject
. Не разрушайте ранее установленный шрифт окна.
Если вы пишете собственный элемент управления, который рисует сам, просто создайте новый объект шрифта, используя CreateFont
или CreateFontIndirect
, и сохраните его где-нибудь в своем классе. Если вы хотите поддерживать сторонних пользователей, обработайте WM_SETFONT
и WM_GETFONT
, чтобы позволить пользователю установить другой шрифт. При рисовании используйте текущий объект шрифта, хранящийся в вашем классе.