Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизШрифт в зеркале Найти похожие ветки
← →
Danger © (2007-07-01 11:04) [0]Как правильно задавать шрифт в зеркале компонента, в режиме design-time? Что нужно написать в зеркальном классе, чтобы при бросании моего KOL-компонента на форму у него устанавливался шрифт соответствующего KOLForm? И чтобы при изменении в designtime шрифта KOLForm менялся шрифт и у моего контрола? (примерно так, как у KOLButton, KOLLabel).
← →
Dimaxx © (2007-07-02 14:03) [1]По умолчанию все контролы принимают атрибуты шрифта контрола, на котором располагаются. Есть свойство ParentFont. Оно при создании выставляется в TRUE.
← →
danger © (2007-07-04 06:31) [2]
> 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 нет никакой. Почему?
← →
danger © (2007-07-06 15:00) [3]Ну что, никто не знает? МСК-специалисты, помогите советом ...
← →
Vladimir Kladov (2007-07-06 15:13) [4]Режим wysiwig с KOLCtrlWrappers не работает. Рисуют себя контролы сами. Если вас не устраивает рисовка, смотрите Paint в некоторых зеркалах типа TKOLLabel. Там вызывается PrepareCanvasFontForWYSIWIGPaint, там всё и делается, что касается шрифтов.
← →
Danger © (2007-07-07 11:14) [5]
> Vladimir Kladov (06.07.07 15:13) [4]
> Режим wysiwig с KOLCtrlWrappers не работает.
Я не использую врапперы вообще, а применяю отрисовку контрола в дизайн-тайме средствами VCL. Врапперы глючат, проще изначально делать VCL отрисовку.
> Там вызывается PrepareCanvasFontForWYSIWIGPaint,
Спасибо, Владимир. Это частично решило проблему, но буду смотреть еще.
← →
Danger © (2007-07-07 15:11) [6]По ходу возник еще один вопрос:
когда изменяется parentFont true/false, мне надо дополнительно перерисовывать контрол (метод SetParentFont для TKOLControl меня не устраивает). Но SetParentFont перекрыть нельзя (статический метод класса TKOLControl). Как можно выполнить какие-нибудь действия, когда изменится parentFont?
← →
Danger © (2007-07-09 18:50) [7]
> Danger © (07.07.07 15:11) [6]
> Как можно выполнить какие-нибудь действия, когда изменится parentFont?
Все еще не сообразил .... будет пока без дополнительной перерисовки. А все-таки хотелось бы.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c