Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 19.03.2018, 09:56   #1
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
Репутация: 51
Вопрос Проблема со шрифтом GroupBox

Всем доброго времени.

Столкнулся с такой проблемой, что по какой-то причине нельзя изменить шрифт одного из GroupBox-ов. Тут даже не важно, какого из двух - дочернего, или родительского. Один из них в любом случае будет отображаться так, будто шрифт у него не установлен.

Собственно, GroupBox-ы создаю так:
Код:

hGroupBox1 = CreateWindowEx(WS_EX_TRANSPARENT, TEXT("BUTTON"),
	TEXT("GroupBox1:"),
	WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
	176, 2,
	316, 100,
	hWindow, NULL, hInstance, NULL
);
SendMessage(hGroupBox1, WM_SETFONT, (WPARAM)hFont, 0);

hGroupBox2  = CreateWindowEx(WS_EX_TRANSPARENT, TEXT("BUTTON"),
	TEXT("GroupBox2:"),
	WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
	8, 21,
	300, 58,
	hGroupBox1, NULL, hInstance, NULL
);
SendMessage(hGroupBox2, WM_SETFONT, (WPARAM)hFont, 0);

А шрифт так:
Код:

hFont = CreateFont(
	-11, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
	DEFAULT_CHARSET,
	OUT_DEFAULT_PRECIS,
	CLIP_DEFAULT_PRECIS,
	PROOF_QUALITY,
	DEFAULT_PITCH | FF_DONTCARE, TEXT("MS Sans Serif")
);

Скриншот, как выглядит это безобразие, прилагаю.

Примечательно еще то, что ширина заголовка с неверно отображающимся шрифтом точно говорит о том, что шрифт установлен, т.к. заголовок "обрезан" ровно до того момента, где должен оканчиваться последний символ, если бы шрифт был установлен и отображался бы правильно. Значит ли это, что баг в отображении шрифта?

Может кто сталкивался с подобным? И как это решается? Думал сабклассить, но... какое конкретно сообщение и команду обрабатывать?
Изображения
Тип файла: jpg GroupBox Font Problem.jpg (20.4 Кб, 34 просмотров)
Xo66um вне форума   Ответить с цитированием
Старый 19.03.2018, 15:41   #2
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
Репутация: 51
По умолчанию

Никто не знает? о_О
Xo66um вне форума   Ответить с цитированием
Старый 20.03.2018, 09:03   #3
NetSpace
Профессионал
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Адрес: п.Путеец, Печорский р-н
Сообщений: 1,267
Репутация: 482
По умолчанию

ну, попробуй поиграться с параметрами, которые у тебя идут после размера шрифта 11. дело в них, кажется. где-то в них заложен параметр, чтоб размер подписи GROUPBOX2 был такой же, как и для прежней записи - для GROUPBOX1.
попробуй вторе сообщение SendMessage(hGroupBox2, WM_SETFONT, (WPARAM)hFont, 0); сделать с другим шрифтом, типа hFont_2
__________________
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума   Ответить с цитированием
Старый 22.03.2018, 18:30   #4
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
Репутация: 51
По умолчанию

Не в параметрах дело. Даже не в самих шрифтах - даже если на каждый GroupBox разный шрифт установить, проблема сохраняется. Вина за это лежит на манифесте. Уж не знаю, почему, но именно с манифестом такие проблемы с отображением шрифта происходят.
Xo66um вне форума   Ответить с цитированием
Старый 15.07.2018, 22:36   #5
алекс чебк
Пользователь
 
Регистрация: 29.02.2012
Адрес: Чебоксары
Сообщений: 11
Репутация: 10
По умолчанию

А почему в CreateFont() первый параметр со знаком минус ? Должно быть число больше нуля. В функции SendMessage() задайте 4-ый параметр как MAKELPARAM(TRUE, 0) , чтобы перерисовать button. Если не получится, сделайте во 2-ом GroupBox-е род. окно тоже hWindow, изменив цифры расположения окна.

Последний раз редактировалось алекс чебк; 15.07.2018 в 22:40.
алекс чебк вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с подключенным рукописным шрифтом oldnomad HTML и CSS 1 18.01.2018 13:47
Проблема со шрифтом, коряво переведенный шаблон shpica WordPress и другие CMS 1 10.11.2012 15:22
проблема с шрифтом Demonmov Microsoft Office Word 7 06.11.2009 07:51
Текстовый редактор. Проблема со шрифтом. blackstersl Общие вопросы Delphi 8 11.03.2009 17:02
GroupBox Иринкаа Компоненты Delphi 5 23.11.2007 19:45


19:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru