На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> TFont , Изменение параметров
    Дано
    ExpandedWrap disabled
      TMyClass = class(TPanel)
        Privete
          FCapFont: TFont;
          procedure SetCapFont(const Value: TFont);
        ......
        published
          property CapFont: TFont read FCapFont write SetFont;
        ....
      end;
       
      implementation
      .....
      procedure SetCapFont(const Value: TFont);
      begin
        FCapFont.Assign(Value);
      end;


    Не могу понять на каком этапе нужно перерисовать капшн(DesignTime) при изменении например размера шрифта.
    Если таки нада ловить месагу то пож. опишите как. заранее спасибо
      ExpandedWrap disabled
        procedure TControl.CMFontChanged(var Message: TMessage);
        begin
          Invalidate;
        end;
         
        procedure TControl.SetFont(Value: TFont);
        begin
          FFont.Assign(Value);
        end;

      Сообщение CM_FONTCHANGED.
      Сообщение отредактировано: Rrader -
        Написал так:
        ExpandedWrap disabled
          procedure TUNIDate.Invalidate; override;
          ...
          procedure TUNIDate.Invalidate;
          var s: string;
          begin
            inherited;
            drawHeader; //рисую на канвасе
          end;

        Падает на ошибке(Component "" HAs no Parent), когда пытаешся кинуть компонент на форму. Другими словами єта месага прилетает тада када еще ниче не нада рисовать. А еси вставить проверку на Parent <> nil он ваще ничего не делает. :wall:

        Добавлено
        я уже разобрался.
        кому интересно :
        нада юзать FFont.OnChange ;)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0431 ]   [ 17 queries used ]   [ Generated: 20.04.24, 00:35 GMT ]