Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вопрос по form.font.name


ironwit ©   (2003-07-23 13:46:00) 

Как изменить фонт формы с помощью компонента MHFontDialog, да так - чтобы все компоненты на этой форме тоже сменили свой фонт?

P.S. MHFontDialog почему то на windows nt 4.0 server - не хочет получать список фонтов, пишет что There no fonts installed....


Gandalf   (2003-08-04 14:31:00) [1]


> P.S. MHFontDialog почему то на windows nt 4.0 server - не
> хочет получать список фонтов, пишет что There no fonts installed....


В Options диалога пошарь - может ты все шрифты там исключил.


ironwit   (2003-08-04 11:11:00) [2]


> Для табконтрола с его хитрыми панелями фокус может не пройти,
> и менять фонт придется для каждой его панели (или для панели
> положенной на его панели).


во, а у меня как раз табконтрол, а на нем уже лежит все остальное. :( Значит придется прокручивать все панели и им всем присваивать фонт?


Кладов   (2003-08-03 15:28:00) [3]

На самом деле, не все так просто. Может надо попробовать все положить на панель, и менять фонт у панели. Может, не везде стоит ParentFont = true. Для табконтрола с его хитрыми панелями фокус может не пройти, и менять фонт придется для каждой его панели (или для панели положенной на его панели).


SPeller   (2003-08-03 14:16:00) [4]

Копать в собственный код. Проверить его на ошибки. Может, где-нибудь присвоение сделал не то?


IronWit   (2003-07-31 08:59:00) [5]

2SPeller

все равно не понял :( Что делать то, куда копать?


SPeller   (2003-07-30 13:36:00) [6]

У TControl в protected есть метод FontChanged, который присваивается обработчиком TControl.fFont.OnChange. Поэтому, при смене атрибутов должно происходить применение их к окну. Если ты ничего с формовых фонтом ничего не делал, то должно работать.


IronWit   (2003-07-30 09:48:00) [7]

 form1.Form.Font.FontName:=fontcombobox1.FontName;
 label1.Text:=fontcombobox1.FontName;
 form1.Form.Perform(WM_PAINT,0,0);

и ничего...


SPeller   (2003-07-30 09:03:00) [8]

Сорри, протупил. Пост выше - не в тему, не заметил FontName :)


> Что делать то?

Попробуй сообщение, WM_PAINT например.


SPeller   (2003-07-30 08:58:00) [9]


> form1.Form.Font.FontName:=fontcombobox1.FontName;

Забудьте про VCL, это там мы так делали. Здесь - всюду УКАЗАТЕЛИ! И поэтому простое присвоение не скопирует объект, а просто сделает манипуляцию с числами-указателями, в результате чего исходный объект может затеряться, и нет гарантии, что после присвоения второй объект, и объект, которому принадлежал первый будут работать корректно. Используйте Assign, а если такого метода нет, то тогда вручную перебирайте свойства.


Boguslaw   (2003-07-29 20:44:00) [10]

Try:

s := fontcombobox1.FontName;
and test if s is really set ! If fontcombobox was not used , maybe FontName is not set ?


IronWit   (2003-07-29 16:54:00) [11]

С помощью fontcombobox меняю свойство   form1.Form.Font.FontName:=fontcombobox1.FontName;

почему эта зараза не меняется? В смысле никаких изменений на форме. А form1.form.rapaint - я не нашел :(
Что делать то?


ironwit   (2003-07-23 16:36:00) [12]

спасибо. Теперь понятно. А я его пытался найти без form1. :(


Кладов   (2003-07-23 15:58:00) [13]

по 1) Если у всех контролов ParentFont = true в дизайнере, то смена шрифта формы (Form1.Form.Font.свойство) изменит их все сразу. Это возможно не коснется RichEdit.


Наверх

Титульная страница Поиск, карта сайта Написать письмо