Autor Beitrag
jackle32
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Di 15.01.08 14:47 
Hallo,

ich schreibe gerade ein einer eigenen Komponente bei der in ein Panel drei Shapes gesetzt werden. Jetzt hab ich das Problem, das mir im Moment die Shapes unter dem Panel gezeichnet werden und so natürlich nicht sichtbar sind.

Denke das Problem liegt an der Zuweisung der Parent Beziehung hier mal der jetztige Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TShapedPanel.SetParent(AParent: TWinControl);
begin
  inherited SetParent(AParent);

  if assigned(FShape1) then exit;
  if assigned(FShape2) then exit;
  if assigned(FShape3) then exit;

  FShape1 := TShape.Create(Self)
  FShape1.Parent := AParent;
  FShape1.ShowHint := True;
  self.ColorShape1 := clwhite;

  FShape2 := TShape.Create(self);
  //FShape2.Parent := AParent;
  FShape2.ShowHint := True;
  self.ColorShape2 := clwhite;

  FShape3 := TShape.Create(self);
  //FShape3.Parent := AParent;
  FShape3.ShowHint := True;
  self.ColorShape3 := clwhite;
end;


Vermutlich liegt der Fehler in der makierten Zeile, da ich da so wie ich das verstanden hab das Form1 als Parent zuweise, was ja nicht stimmt, da ich das Panel als Parent brauche.
Wie kann ich jetzt aber das Panel als Parent zuweisen, hab schon einiges versucht aber hab es nicht hin bekommen.

Oder kann es noch ein anderer/weiterer Fehler sein, das die Shapes hinter dem Panel liegen.

Gruß Jack

_________________
Es gibt keine dummen Fragen, nur dumme Antworten.
jackle32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 7

Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
BeitragVerfasst: Di 15.01.08 16:00 
Okay hab es jetzt selbst rausgefunden.

Falls es jemanden anderes braucht.

Die markierte Zeile richitig sieht so aus:

ausblenden Delphi-Quelltext
1:
FShape1.Parent := self;					


einfach aber mit dem gewünschten Effekt

Gruß Jack

_________________
Es gibt keine dummen Fragen, nur dumme Antworten.