ich will eine Klasse erstellen, welche VCL Komponenten verwendent.
Speziell will ich im Create eine Scrollbox als Container, welche 2 Images übereinander beinhaltet erstellen.
Ich scheitere jedoch daran, das ich zwar was "erzeuge", jedoch sehe ich nichts auf der Form......
hier die Klasse
Code: Alles auswählen
Type
{ TSpielfeld }
TSpielfeld = Class(TObject)
protected
MyScrollbox : TScrollbox;
MyHintergrund : TImage;
TMyVordergrund : TImage;
public
Constructor create(Besitzer :TForm);
Destructor destroy;
Procedure SetPos (PosX,PosY : Integer);
Procedure SetSize (XHeight,YWidth : Integer);
Procedure HintergrundLaden(Filename : String);
Procedure Zeigen;
end;
implementation
{ TSpielfeld }
constructor TSpielfeld.create(Besitzer: TForm);
begin
//Scrollbox erzeugen
inherited Create;
MyScrollbox := TScrollbox.Create(Besitzer);
MyHintergrund :=TImage.Create(MyScrollbox);
end;
destructor TSpielfeld.destroy;
begin
MyScrollbox.Free;
end;
procedure TSpielfeld.SetPos(PosX, PosY: Integer);
begin
MyScrollbox.Top:=PosX;
MyScrollbox.Left:=PosY;
end;
procedure TSpielfeld.SetSize(XHeight, YWidth: Integer);
begin
MyScrollBox.Width:=YWidth;
MyScrollBox.Height:=XHeight;
end;
procedure TSpielfeld.HintergrundLaden(Filename: String);
begin
MyHintergrund.Picture.LoadFromFile(Filename);
end;
procedure TSpielfeld.Zeigen;
begin
MyHintergrund.Top:=MyScrollbox.Top;
MyHintergrund.Left:=MyScrollbox.Left;
MyHintergrund.AutoSize:=True;
MyScrollbox.Visible:=True;
MyScrollbox.Enabled:=True;
Myscrollbox.Show; //klappt net
end;
end.
und hier, wie ich es sehen will
Code: Alles auswählen
procedure TForm4.Button1Click(Sender: TObject);
Var
Filename : String;
begin
if OpenPictureDialog1.Execute then Filename := OpenPictureDialog1.FileName;
Testfeld := TSpielfeld.create(Form4);
Testfeld.SetPos(20,20);
Testfeld.SetSize(300,300);
Testfeld.HintergrundLaden(Filename);
Testfeld.Zeigen;
end;
Ihr könnt mich ruhig steinigen!!