Я хочу изменить шрифт текста, который пользователь вводит в текстовое поле. Вот путь моего кода:
HWND Edit = CreateWindowEx(...);
HFONT hfont = CreateFont(12, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "MS Sans Serif");
SendMessage(Edit, WM_SETFONT, WPARAM(hfont), TRUE);
Но я получаю странную ошибку. Странно, потому что все в Интернете используют этот метод, и, видимо, все в порядке. Вот сообщение об ошибке от gcc:
C:\Users\Admin\Desktop\winapi>gcc main.c
main.c: In function 'WinMain':
main.c:86:32: error: expected expression before 'WPARAM'
SendMessage(Edit, WM_SETFONT, WPARAM(hfont), TRUE);
^~~~~~
In file included from c:\mingw\include\windef.h:42:0,
from c:\mingw\include\windows.h:42,
from main.c:1:
main.c:86:2: error: too few arguments to function 'SendMessageA'
SendMessage(Edit, WM_SETFONT, WPARAM(hfont), TRUE);
^
In file included from c:\mingw\include\windows.h:48:0,
from main.c:1:
c:\mingw\include\winuser.h:4157:27: note: declared here
WINUSERAPI LRESULT WINAPI SendMessageA (HWND, UINT, WPARAM, LPARAM);
^~~~~~~~~~~~
Как можно это исправить?