Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Panel in einem anderen Form createn...


NeoXan - Sa 17.01.04 23:16
Titel: Panel in einem anderen Form createn...
Moin,

also ich 2 Forms. In dem einen gibt es einen Button


Delphi-Quelltext
1:
2:
3:
 Self.Hide;
 p           := p.Create(World); //<======
 p.OnMouseDown := PosiMouseClick;


Das Prob ist jetzt nur, dass das Panel in dem Form created wird in dem der Button vorhanden ist...und nicht in dem anderen...

mfg
NeoXan

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt


Michael Stenzel - So 18.01.04 02:31

Hi NeoXan.

Dein Code vervollständigt.


Delphi-Quelltext
1:
2:
3:
4:
5:
  Self.Hide; 
  p := p.Create(World); //<====== 
  p.OnMouseDown := PosiMouseClick;
  p.Parent := World;
  p.Show;


Ich hoffe, daß World der Bezeichner für die Form ist, auf der das Panel plaziert werden soll.

mfg
Michael.


NeoXan - So 18.01.04 15:42


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TfrmExtras.PosiMouseClick(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ShowMessage(IntToStr(X));
 Self.Show;
end;

procedure TfrmExtras.btnPosiClick(Sender: TObject);
var p: TPanel;
begin
 Self.Hide;
 p             := p.Create(Evolve.gbTheWorld);
 p.Parent      := Evolve.gbTheWorld;
 p.Left        := Evolve.World.Left;
 p.Top         := Evolve.World.Top;
 p.Width       := Evolve.World.Width;
 p.Height      := Evolve.World.Height;
 p.Cursor      := crCross;
 p.Visible     := false;
 p.OnMouseDown := PosiMouseClick;
end;


Evolve = TForm
gbTheWorld = TGroupBox
World = TImage

Wenn ich auf das Panel klicke passiert nichts :(

Moderiert von user profile iconDeCodeGuru: Code- durch Delphi-Tags ersetzt


StefanH - So 18.01.04 16:17


Delphi-Quelltext
1:
p.OnMouseDown := frmExtras.PosiMouseClick;                    


das vielleicht noch... (k.A., obs dann geht, denks mir aba :D)


Motzi - Mo 19.01.04 10:06
Titel: Re: Panel in einem anderen Form createn...
Statt p := p.Create(World); //<======
gehört das so:

Delphi-Quelltext
1:
p := TPanel.Create(World);