Главная страница
    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.46 MB
Время: 0.043 c
2-1201877220
Adios
2008-02-01 17:47
2008.02.24
форма вместо рабочего стола


15-1201089725
Petr V. Abramov
2008-01-23 15:02
2008.02.24
вот ведь народ настырный :)


15-1201076825
samalex
2008-01-23 11:27
2008.02.24
Конвертация BMP в PDF


2-1201614967
Виктор007
2008-01-29 16:56
2008.02.24
Создать второе окно с иконкой на панели задач


2-1201764728
lead-in
2008-01-31 10:32
2008.02.24
трабла с кодировкой





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский