Конференция "Компоненты" » Создание компонента TLabel [D7]
 
  • Dyakon_Frost © (18.06.07 06:41) [0]
    Здравствуйте!
    Необходимо написать программу:
    "Написать для Delphi компонент, который при наведении на него курсора будет менять шрифт"

    Создаю компонент, предком делаю TLabel.
    Но немогу прописать процедуру замены шрифта на событие OnMouseEnter.
    Если несложно, привидите небольшой пример такой процедуры.

    Заранее спасибо.
  • Юрий Зотов © (18.06.07 08:20) [1]
    Не надо прописывать никаких событий, надо обработать сообщения CM_MOUSEENTER и CM_MOUSELEAVE. Примеры см. в VCL.
  • DimaBr © (18.06.07 08:44) [2]

    TMyLabel = class(TLabel)
     private
       procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
       procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
    end;

    implementation

    procedure TMyLabel.CMMouseEnter(var Message: TMessage);
    begin
     Font.Color := clred;
    end;

    procedure TMyLabel.CMMouseLeave(var Message: TMessage);
    begin
     Font.Color := clBlack
    end;

  • homm © (18.06.07 10:26) [3]
    > procedure TMyLabel.CMMouseEnter(var Message: TMessage);
    > begin
    > Font.Color := clred;
    > end;
    >
    > procedure TMyLabel.CMMouseLeave(var Message: TMessage);
    > begin
    > Font.Color := clBlack
    > end;

    Цвет это еше не весь шрифт. Я думаю нужно вводить дополнительное свойство OverFont.
  • DimaBr © (18.06.07 12:29) [4]

    > Dyakon_Frost ©   (18.06.07 06:41)
    > Если несложно, привидите небольшой пример такой процедуры.
  • Dyakon_Frost © (18.06.07 12:41) [5]
    Большое спасибо разобрался! Дальше все просто. Я сам то создавал процедуру как OnMouseEnter, а нада было CM. =)
  • Ida (25.11.15 02:32) [6]
    Удалено модератором
 
Конференция "Компоненты" » Создание компонента TLabel [D7]
Есть новые Нет новых   [118451   +42][b:0][p:0.001]