Вниз
Скачать: 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.04 c
8-1128314222
NikNet
2005-10-03 08:37
2006.04.02
Как быстро сравнить два TBITMAP?


4-1136983804
Saimon
2006-01-11 15:50
2006.04.02
Сгенерировать GUID строке.


9-1127337583
Ricks
2005-09-22 01:19
2006.04.02
Люди, подскажите


15-1142009403
Новичоккк
2006-03-10 19:50
2006.04.02
Почему может тормозить копирование и прочее?


2-1142421848
Пакизат
2006-03-15 14:24
2006.04.02
Помогите!




   Наверх