![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
![]()
Заносим в массив кнопки с диалогового окна:
Код:
Устанавливаем текст кнопки и ее шрифт: Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 04.10.2012
Сообщений: 95
|
![]()
for(int index = 0; index <= CONTROL_BUTTON_COUNT; index++)
не? /// посмотрел внимательней.... не знаю )) Проверяй чему равен CONTROL_BUTTON_COUNT, выполняется ли код в последней итерации или нет. А если в одной?....
Пишу на чистом С, плюсы спилил.
Последний раз редактировалось LynXzp; 27.11.2012 в 20:21. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
По мне так вообще странно, что это работает.
Стандартный метод SetFont просто берет манипулятор из CFont объекта и передает его окну а потом это манипулятор удаляется, когда мы создаем следущий CFont или когда выходим из функции, где делается установка. Вынесите font.CreateFont() из цикла. CFont должен существовать пока фонт установлен в кнопке, но никто не запрещает использовать один и тот фонт для всех кнопок. Лучше всего сделать font переменной класса. Когда тестируете, возмите ваше окно за заголовочную строку и вынесите его целиком за пределы екрана - это гарантирует, что все елементы перерисуются. Вполне возможно, что они рисуются при смене (и выглядят правильно) но в дальнейшем рисоваться правильно уже не будут. |
![]() |
![]() |
![]() |
#4 | |||
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
![]() Цитата:
Цитата:
Цитата:
Так было изначально: ![]() Так после 1 шрифта для всех: ![]() Перерисовка не помогает Последний раз редактировалось crymchanin; 30.11.2012 в 00:01. |
|||
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Я так и думал...
Сделайте CFont font переменной класса. В OnInitDialog вызовите CreateFont только один раз, потом присвойте всем кнопкам. CFont не позволяет вызывать CreateFont несколько раз подряд, у вас должна вылезать Assert табличка, если только вы не делаете Release сборку. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
![]()
Заработало) Большое спасибо)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
GDI+ работа со шрифтами | D][mon | Помощь студентам | 0 | 14.03.2012 20:03 |
Проблема со шрифтами | analyst | Microsoft Office Excel | 2 | 16.06.2011 17:31 |
Проблема со шрифтами | Caнёk | Операционные системы общие вопросы | 11 | 22.08.2010 18:48 |
проблема со шрифтами | Gambler | Microsoft Office Word | 0 | 29.10.2006 21:35 |