АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Implementation. ConstructorTGraphicButton.Create(AOwner:TComponent);

Прочитайте:
  1. Implementation
  2. Implementation
  3. Implementation inheritance in C#.
  4. Theme: Implementation of heriditary information

...

Constructor TGraphicButton.Create(AOwner:TComponent);

Begin

inherited Create(AOwner); // вызываем унаследованный конструктор

FButtonColor:=clwhite; // цвет кнопки – белый

FBorderColor:=clblack; // цвет рамки – черный

FOverColor:=clyellow; // цвет при наведении указателя мыши – желтый

FButtonText:='Кнопка'; // текст кнопки

Color:=ButtonColor; // текущий цвет – ButtonColor – белый

end;

 

Для того чтобы мы могли использовать константы цвета clWhite, clBlack, clYellow – необходимо подключить модуль Graphics в разделе uses:

Interface

Uses

SysUtils, Classes, Controls, Graphics;

 

Для того чтобы компонент изменял свой цвет при наведении указателя мыши, мы должны переопределить и реализовать метод MouseMove компонента:

Protected

Procedure MouseMove(ShiftState:TShiftState;X,Y:integer); override;

Implementation

 

Procedure TGraphicButton.MouseMove(ShiftState:TShiftState;X,Y:integer);

Begin

Color:=OverColor; // текущим цветом становится цвет OverColor (цвет при наведении)

// вызываем унаследованный метод MouseMove, так как он запускает событие OnMouseMove

// если этого не сделать, то обработчик события OnMouseMove просто не будет запускаться –

// механизм события не будет работать

inherited MouseMove(ShiftState,X,Y);

end;

 

При наведении указателя мыши на область графической кнопки ее цвет изменится. Для того чтобы вернуть первоначальный цвет ButtonColor, после того как указатель покинет графическую область кнопки – необходимо объявить и реализовать обработчик сообщения CM_MOUSELEAVE операционной системы:


Дата добавления: 2015-09-18 | Просмотры: 512 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)