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

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

Шрифт в зеркале


Danger ©   (2007-07-01 11:04:00) 

Как правильно задавать шрифт в зеркале компонента, в режиме design-time? Что нужно написать в зеркальном классе, чтобы при бросании моего KOL-компонента на форму у него устанавливался шрифт соответствующего KOLForm? И чтобы при изменении в designtime шрифта KOLForm менялся шрифт и у моего контрола? (примерно так, как у KOLButton, KOLLabel).


Danger   (2007-07-09 18:50:00) [1]


> Danger ©   (07.07.07 15:11) [6]
> Как можно выполнить какие-нибудь действия, когда изменится parentFont?

Все еще не сообразил .... будет пока без дополнительной перерисовки. А все-таки хотелось бы.


Danger   (2007-07-07 15:11:00) [2]

По ходу возник еще один вопрос:

когда изменяется parentFont true/false, мне надо дополнительно перерисовывать контрол (метод SetParentFont для TKOLControl меня не устраивает). Но SetParentFont перекрыть нельзя (статический метод класса TKOLControl). Как можно выполнить какие-нибудь действия, когда изменится parentFont?


Danger   (2007-07-07 11:14:00) [3]


> Vladimir Kladov   (06.07.07 15:13) [4]
> Режим wysiwig с KOLCtrlWrappers не работает.

Я не использую врапперы вообще, а применяю отрисовку контрола в дизайн-тайме средствами VCL. Врапперы глючат, проще изначально делать VCL отрисовку.

> Там вызывается PrepareCanvasFontForWYSIWIGPaint,

Спасибо, Владимир. Это частично решило проблему, но буду смотреть еще.


Vladimir Kladov   (2007-07-06 15:13:00) [4]

Режим wysiwig с KOLCtrlWrappers не работает. Рисуют себя контролы сами. Если вас не устраивает рисовка, смотрите Paint в некоторых зеркалах типа TKOLLabel. Там вызывается PrepareCanvasFontForWYSIWIGPaint, там всё и делается, что касается шрифтов.


danger   (2007-07-06 15:00:00) [5]

Ну что, никто не знает? МСК-специалисты, помогите советом ...


danger   (2007-07-04 06:31:00) [6]


> Dimaxx ©   (02.07.07 14:03) [1]
> По умолчанию все контролы принимают атрибуты шрифта контрола,
>  на котором располагаются.

В рантайм все изначально нормально, я просто бьюсь с нормальной отрисовкой в дизайн-тайме, чтобы все было красиво и визивиг. Все, о чем здесь говорится, относится к дизайн-тайму.

Контрол создается шрифтом VCL-ной формы-подложки, не учитывая шрифт KOLForm, имеющийся на форме. Соответственно, при изменении шрифта KOLForm шрифт для зеркального контрола не изменяется. А я хочу, чтоб было как у KOLButton - при изменении шрифта KOLForm изменяется шрифт кнопки (если ParentFont = true). Как это сделать?

Я перекрываю SetFont (чтобы перерисовывать контрол, когда изменяется шрифт контрола в диспетчере), наверное в этом проблема? Но вызов родительского обработчика (inherited) не помогает.

Еще вопрос насчет шрифтов. В дизайн-тайме используется отрисовка контрола средствами VCL (и класс VCL TFont, экземпляру которого присваиваются атрибуты TKOLFont). Если используется стандартный шрифт, средствами vcl он отображается иначе, чем шрифт на прочих контролах. Если задать другой шрифт (Courier, Times New Roman, Tahoma) - разницы в отрисовке KOLFont и TFont нет никакой. Почему?


Dimaxx   (2007-07-02 14:03:00) [7]

По умолчанию все контролы принимают атрибуты шрифта контрола, на котором располагаются. Есть свойство ParentFont. Оно при создании выставляется в TRUE.


Наверх

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