Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.47 MB
Время: 2.386 c
2-1201491838
Shpux
2008-01-28 06:43
2008.02.24
Закрыть приложение - Excel


15-1200748755
Putnik
2008-01-19 16:19
2008.02.24
Статьи по работе с указателями


15-1200776972
Kostafey
2008-01-20 00:09
2008.02.24
С днем рождения ! 20 января


2-1201612458
Sonia
2008-01-29 16:14
2008.02.24
Вызов процедуры


2-1201806081
Lex-85
2008-01-31 22:01
2008.02.24
Приствоить тест ComboBox в OnChange





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский