Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Komponente verschiebt sich zur Laufzeit

  Alt 8. Jan 2013, 11:58
Nein das Parent wird im constructor nicht gesetzt.
Hab mal debuggt und das Parent wird auch nach dem constructor nochmal beim Lesen aus der DFM auf das Panel1 gesetzt.

Wenn ich im Nachhinein (per Button) das Parent auf das Panel ändere, dann siehts wieder richtig aus.

Delphi-Quellcode:
constructor THTMLEditor.Create(AOwner: TComponent);

  function CreateToolPanel(AParent: TWinControl; AWidth: Integer): TPanel;
  begin
    Result := TPanel.Create(Self);
    Result.Parent := AParent;
    Result.Align := alLeft;
    Result.Left := MaxInt;
    Result.Width := AWidth;
    Result.BevelOuter := bvNone;
    Result.Caption := '';
    Result.BevelKind := bkFlat;
    Result.BevelEdges := [beRight];
  end;

begin
  inherited Create(AOwner);

  DoubleBuffered := true;

  FImageOptions := THTMLImageOptions.Create(Self); // = class(TPersistent)

  FToolbarVisible := true;
  FToolbarControls := ToolbarAllControls;

  Width := 300;
  Height := 200;

  // ... Panels und Controls werden erstellt. (Panels per CreateToolPanel)
  // Parent wird nirgendwo auf AOwner gesetzt, maximal auf Self.
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat