Текущий архив: 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.45 MB
Время: 0.041 c