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 Memo auf Tabsheet zur Laufzeit erzeugen (https://www.delphipraxis.net/32139-memo-auf-tabsheet-zur-laufzeit-erzeugen.html)

pmc 19. Okt 2004 12:59


Memo auf Tabsheet zur Laufzeit erzeugen
 
Hallo,

Hab da folgendes problem....
ICh erzeuge zur laufzeit ein Tabsheet das auch ohne probleme erstellt wird jetzt soll aber zusätzlich noch ein memo, ein button und nen edit drauf.....

Jetzt habe ich versucht das memo zu machen aber es ist nicht zu sehen auf dem tabsheet...

Hier mein code :

v_name ist ein string der den namen angibt....

Delphi-Quellcode:
  TTabSheet.Create(self).Name:=v_name;
  with TTabSheet(FindComponent(v_name)) do
  begin
    PageControl := IRC_Pages;
    caption:=achannel;
  end;

  TMemo.Create(self).Name:='memo_'+v_name;
  with TMemo(FindComponent('memo_'+v_name)) do
  begin
    parent := TTabSheet(FindComponent(v_name));
    width := 100;
    left  := 10;
    top   := 10;
  end;
Hab ich irgendwo was falsch gemacht ????

MFG PMC

P.S. gesucht hab ich schon aber nur beiträge gefunden wo das ganze mit variablen gemacht wird....ich brauch das aber so dynamisch wie möglich.

Steve 19. Okt 2004 13:09

Re: Memo auf Tabsheet zur Laufzeit erzeugen
 
Zitat:

Zitat von pmc
Delphi-Quellcode:
 ...
  TMemo.Create(self).Name:='memo_'+v_name;
  with TMemo(FindComponent('memo_'+v_name)) do
  begin
    parent := TTabSheet(Self.FindComponent(v_name)); // <-- HIER ÄNDERN!!
    width := 100;
    left  := 10;
    top   := 10;
  end;
Hab ich irgendwo was falsch gemacht ????

Ohne "Self." wird sonst nämlich TMemo(FindComponent('memo_'+v_name)).FindComponent aufgerufen, was natürlich NIL zurückgeben wird :)

Gruß
Stephan :dance:

pmc 19. Okt 2004 13:43

Re: Memo auf Tabsheet zur Laufzeit erzeugen
 
Erstmal schönen dank für die schnelle hilfe....

Wie ist es denn jeztt möglich auf ein selbst erstelltes EDIT zu reagieren .... z.b. wenn man was reinschreibt und dann enter drückt????

MFG PMC

Matze 19. Okt 2004 13:51

Re: Memo auf Tabsheet zur Laufzeit erzeugen
 
Hier ne kleine Demo. ;)

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure MyEditChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.MyEditChange(Sender: TObject);
begin
  //Tu was!
end;

procedure TForm1.FormCreate(Sender: TObject);
var MyEdit: TEdit;
begin
  MyEdit := TEdit.Create(Form1);
  MyEdit.Parent := Form1;
  MyEdit.Top := 100;
  MyEdit.Left := 200;
  MyEdit.Show;

  MyEdit.OnChange := MyEditChange;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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