Шрифт при динамическом добавлении элементов (CreateWindow)
От: morden Украина http://www.morden.com.ua/
Дата: 08.06.05 13:38
Оценка:
Добрый день

При создании диалогового окна из файлов ресурсов, во всех элементах (edit-control-ах, кнопках, static-полях) используеться стандартный, выбранный в системе шрифт по умолчанию (Обычно Tahoma). Но как начинаю, функцией CreateWindow, динамически добавлять новые элементы, то в них выбирается этот же шрифт, но более крупного размера и с параметром "жирный". Что делать? Надо ли создавать новый шрифт, который используется в системе по умолчанию, и присваивать новым элементам, посылать элементам какие-то сообщения для выбора шрифта по умолчанию или есть какой-то хитрый стиль для CreateWindow, который заставляет выбрать стандартный шрифт, который используют все стандартные элементы в системе?

Заранее спасибо.
Re: Шрифт при динамическом добавлении элементов (CreateWindo
От: SergH Россия  
Дата: 08.06.05 13:49
Оценка:
Здравствуйте, morden, Вы писали:

M>При создании диалогового окна из файлов ресурсов, во всех элементах (edit-control-ах, кнопках, static-полях) используеться стандартный, выбранный в системе шрифт по умолчанию (Обычно Tahoma).


Не совсем так, в файле ресурсов можно указать другой шрифт. Если не указан, действительно, используется стандартный.

M>Но как начинаю, функцией CreateWindow, динамически добавлять новые элементы, то в них выбирается этот же шрифт, но более крупного размера и с параметром "жирный". Что делать? Надо ли создавать новый шрифт, который используется в системе по умолчанию, и

присваивать новым элементам, посылать элементам какие-то сообщения для выбора шрифта по умолчанию

Почти. Имхо, лучше всего получить шрифт у родителя — окна диалога и истановить такой же потомку. Сообщения WM_GETFONT/WM_SETFONT соотвтественно.

M>или есть какой-то хитрый стиль для CreateWindow, который заставляет выбрать стандартный шрифт, который используют все стандартные элементы в системе?


Нет, вроде нету. Он и так стандартный, но это другой стандартный
Делай что должно, и будь что будет
Re: Шрифт при динамическом добавлении элементов (CreateWindo
От: BlackHeretic Израиль  
Дата: 08.06.05 15:00
Оценка:
Здравствуйте, morden, Вы писали:

Нужно взять шрифт у нормальных контролов и принудительно установить его новым.
ICQ 156156278
Re: Шрифт при динамическом добавлении элементов (CreateWindo
От: GLFox  
Дата: 08.06.05 18:02
Оценка: 2 (1)
На самом деле при динамическом создании устанавливается шрифт System.
А вообще, если есть желание установить текущий умолчательный шрифт системы можно сделать так:
SendMessage(hWnd,WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
(код на C++)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.