Изменение размера шрифта текстового поля stati c в Windows GUI - PullRequest
1 голос
/ 08 января 2020

как изменить размер шрифта для текстового поля stati c в Windows GUI приложении, написанном на C ++?

HWND hText = CreateWindowW(L"EDIT", L"enter some text", WS_VISIBLE | WS_CHILD | ES_RIGHT, 100, 100, 100, 50, hWnd, NULL, NULL, NULL);

нужно ли мне сделать еще одно сообщение Window

1 Ответ

0 голосов
/ 09 января 2020

Как сказал @RbMm, используйте CreateFont и WM_SETFONT, чтобы добиться этого. И официальные документы также имеют соответствующее введение.

Изменение шрифта, используемого элементом управления редактирования.

Приложение может изменить шрифт, который использует элемент управления редактирования отправив сообщение WM_SETFONT . Большинство приложений делают это при обработке сообщения WM_INITDIALOG . Изменение шрифта не меняет размер элемента управления редактирования; приложениям, которые отправляют сообщение WM_SETFONT , может потребоваться получить метрики шрифта для текста и пересчитать размер элемента управления для редактирования. Для получения дополнительной информации о шрифтах и ​​метриках шрифтов см. Шрифты и текст .

Наименьший код:

LOGFONT logfont; 
ZeroMemory(&logfont, sizeof(LOGFONT));
logfont.lfCharSet = DEFAULT_CHARSET;
logfont.lfHeight = -20; 
HFONT hFont = CreateFontIndirect(&logfont);

SendMessage(hText, WM_SETFONT, (WPARAM)hFont, TRUE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...