Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: 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 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.061 c
15-1142031161
denisych
2006-03-11 01:52
2006.04.02
Развод клиента постоянным администрированием БД


2-1142687332
Новочеркасский Волк
2006-03-18 16:08
2006.04.02
2 месяца не могу понять в чём ошибка?!?!?


2-1142685685
Fenix
2006-03-18 15:41
2006.04.02
Добавление иконки на SpeedButton


1-1140680523
SurgeonY
2006-02-23 10:42
2006.04.02
Linking static lib in Delphi (or BCB) project


2-1142855030
еуые
2006-03-20 14:43
2006.04.02
как перебрать все Item в MainMenu