Добрый день, уважаемые! Возникла проблема. Создаю окно CreateWindow(...), а в WndProc для этого окна ставлю обработчик WM_CREATE, в к-м пытаюсь окну присвоить шрифт...
...WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwnd, WM_SETFONT, (WPARAM)hFont, 0);
//Здесь пытаюсь проверить: что получилось
hFont = (HFONT)SendMessage(hwnd, WM_GETFONT, 0, 0);
//Так вот hFont равен 0, т.е. ни фига
break;
}
}
Вопрос: Почему? Что не так?
Да, кстати, если пользоваться PostMessage, то фонт в результате применяется, но мне очень важно не получать обратно управления, пока шрифт не будет установлен. Да и где в МСДН-е написано, что SendMessage делать нельзя? Я рылся, но не нашел, может с этим поможете?