Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi frage zu neuer komponente (https://www.delphipraxis.net/3246-frage-zu-neuer-komponente.html)

Snoop007 2. Mär 2003 21:06


frage zu neuer komponente
 
hi,
ich leite eine neue komponente von der TImage ab,
nun möchte in diese ein memo unterbringen

ich habe die anweisungen in den constructor der neuen komponente reingepackt aber leider zeigt sich die memo komponente nicht
wieso ?

Delphi-Quellcode:
constructor TTest.Create(AOwner: TComponent);
var
  NeuesMemo : TMemo;
begin
  inherited;
  NeuesMemo := TMemo.Create(AOwner);
  NeuesMemo.Clear;
  NeuesMemo.Width := Width - 10;
  NeuesMemo.Width := Height - 10;
  NeuesMemo.Top := 10;
  NeuesMemo.Left := 10;
end;

Luckie 2. Mär 2003 21:22

Das TImage muß das Memo als Parent haben.

Snoop007 2. Mär 2003 21:26

sorry das sagt mir irgendwie nichts
meinst du
meinMemo.parent := self.parent; ?

Chewie 2. Mär 2003 21:35

Schreib doch einfach:
Delphi-Quellcode:
TTest.Parent := NeuesMemo;

Snoop007 2. Mär 2003 21:39

er zeigt es mir aber nicht an ... :(

Snoop007 2. Mär 2003 21:46

hier die komplette komponente
Delphi-Quellcode:
unit ProgrammBlock2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TProgrammBlock2 = class(TImage)
  private
    FText : string;
    FLinienfarbe : TColor;
    FHintergrund : TColor;
    procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
  protected
  public
    constructor Create(AOwner: TComponent);
  published
    property Text : string read FText write FText;
    property Linienfarbe : TColor read FLinienfarbe write FLinienfarbe;
    property Hintergrund : TColor read FHintergrund write FHintergrund;
  end;

procedure Register;

implementation

procedure TProgrammBlock2.WMPaint(var Message: TWMPaint);
begin
  inherited;
  canvas.Brush.Color := FHintergrund;
  canvas.Pen.Color := FLinienfarbe;
  canvas.Rectangle(Self.ClientRect);
end;


constructor TProgrammBlock2.Create(AOwner: TComponent);
var
  NeuesMemo : TMemo;
begin
  inherited;
  NeuesMemo := TMemo.Create(AOwner);
  NeuesMemo.Clear;
  NeuesMemo.Width := Width - 10;
  NeuesMemo.Width := Height - 10;
  NeuesMemo.Top := 10;
  NeuesMemo.Left := 10;
  Parent := NeuesMemo;
end;

procedure Register;
begin
  RegisterComponents('ProgrammStruckturen', [TProgrammBlock2]);
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz