Sei stao chiarissimo e ti ringrazio..
ora però avrei un altro problema.In poche parole vorrei(sempre parlando di questo componente)far si che le immagini(che in realtà sarebbero delle tpicture) si possana inserire tramite l'object inspector,nello stesso modo come si puo fare con la proprietà picture del timage(ovvero aprendo una opendialogbox)...
ho dato un'occhiata alla unit exctrl per vedere come è fatta la class di timage,ma a ben poco mi è servito...
ho scritto questo codice che compilato non mi dà errori,però quando lo uso mi dà errore..
ti posto il codice,e ti chiedo se li puoi dare un'occhiata:
unit imagerollover;
interface
uses
SysUtils, Classes, Controls, ExtCtrls,Graphics;
type
timagerollover = class(TImage)
private
{ Private declarations }
Fimageup: TPicture;
Fimagenor: TPicture;
Fimagepress: TPicture;
procedure Setimageup(Value: TPicture);
procedure Setimagenor(Value: TPicture);
procedure Setimagepress(Value: TPicture);
protected
{ Protected declarations }
public
tipo:integer;
{ Public declarations }
published
constructor create(aowner:tcomponent);override;
{ Published declarations }
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X: Integer; Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X: Integer; Y: Integer);
override;
property Imageup: TPicture read Fimageup write Setimageup;
property Imagenor: TPicture read FImagenor write SetImagenor;
property Imagepress: TPicture read FImagepress write SetImagepress;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [timagerollover]);
end;
constructor timagerollover.create(aowner:tcomponent);
var
im: timagerollover;
begin
inherited create(aowner);
tipo:=0;
picture:=imagenor;
end;
procedure timagerollover.MouseDown(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
inherited MouseDown(Button, Shift, X, Y);
if tipo <> 1 then
begin
tipo:=1;
picture:=imagepress;
end;
end;
procedure timagerollover.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
inherited MouseMove(Shift, X, Y);
if tipo <> 2 then
begin
tipo:=2;
picture:=imageup;
end;
end;
procedure timagerollover.Setimageup(Value: TPicture);
begin
Fimageup.Assign(Value);
end;
procedure timagerollover.Setimagenor(Value: TPicture);
begin
Fimagenor.Assign(Value);
end;
procedure timagerollover.Setimagepress(Value: TPicture);
begin
Fimagepress.Assign(Value);
end;
end.
Grazie tante