Вниз
Скачать: CL | DM;

Помогите с созданием компонента   Найти похожие ветки 

 
tytus   (2006-03-21 13:22) [0]

Добрый день мастера. Пытаюсь создать наследник TCustomControl (в нем есть канва и хендл). Мне нужно чтобы было что-то похожее на Button, но чтобы были события OnMouseEnter и OnMouseLeave. Сообщения компонентом перехватываются (CM_MOUSEENTER...), но только компонент не прорисовывается на форме. Как правильно сие оформить?


 
clickmaker ©   (2006-03-21 13:25) [1]

Перекрыть Paint и в нем рисовать


 
tytus   (2006-03-21 13:29) [2]

>clickmaster[1]
 protected
   { Protected declarations }
   procedure Paint;override;
...
procedure TClButton.Paint;
var
 ClRect:TRect;
begin
ClRect:=BoundsRect;
Frame3D(Canvas,clRect,FOnColor,FBottomColor,2);
end;
... и ничеГО!!!


 
clickmaker ©   (2006-03-21 13:30) [3]


> tytus   (21.03.06 13:29) [2]

а что должно быть?


 
tytus   (2006-03-21 13:33) [4]

>[2]
Frame3D рисует 3D рамку вокруг компонента у которого есть канва.(ExtCtrls)


 
balepa ©   (2006-03-21 13:38) [5]

Может еще inherited после
ClRect:=BoundsRect;
Frame3D(Canvas,clRect,FOnColor,FBottomColor,2);


 
tytus   (2006-03-21 13:42) [6]

и еще, когда устанавливаю компонент, то выдается ошибка <Abstract Error>


 
MBo ©   (2006-03-21 13:43) [7]

Ну рисуется уголок слева-вверху. Так что ищи ошибку у себя

 TMy=class(TCustomControl)
  protected
    procedure Paint; override;
 end;

procedure TMy.Paint;
var
 R: TRect;
begin
 R:=BoundsRect;
 Frame3D(Canvas, R, clGreen, clWhite, 3);
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
 with TMy.Create(Self) do begin
   Parent:=Self;
   BoundsRect:=Rect(10,10,100,100);
 end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
4-1135363510
guitarist
2005-12-23 21:45
2006.04.02
Модем. Набор номера


2-1141739126
Tort
2006-03-07 16:45
2006.04.02
Запретить крыску


2-1142416756
VitV
2006-03-15 12:59
2006.04.02
DBLookupComboBox-заполнение.


15-1142062536
zac
2006-03-11 10:35
2006.04.02
микрофон


2-1142632914
jenya_rus
2006-03-18 01:01
2006.04.02
Преобразование в hex???




   Наверх