Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Button von Nutzer erstellen (https://www.delphipraxis.net/171835-button-von-nutzer-erstellen.html)

Smaraner 27. Nov 2012 16:19

Delphi-Version: 7

Button von Nutzer erstellen
 
Hallo,

gibt es eine Möglichkeit, vom User einen Button zu erstellen? Also, wenn er auf einen Button klick das ein neuer erstellt wird.

Gruß Sebastian

WM_CLOSE 27. Nov 2012 16:22

AW: Button von Nutzer erstellen
 
Delphi-Quellcode:
var
  Button: TButton;
begin
  Button := TButton.Create;
  Button.Parent := Form;
  Button.Text := "Muh!";
end;
Bitte korrigiert mich, wenn ich falsch liege.

Smaraner 27. Nov 2012 16:26

AW: Button von Nutzer erstellen
 
Es wird jetzt der Fehler ausgegeben:

Nicht genügend Parameter bei
Delphi-Quellcode:
Button := TButton.Create

Jonas Shinaniganz 27. Nov 2012 16:28

AW: Button von Nutzer erstellen
 
Dann übergibst du noch einen Owner, am besten die Form.

Grüß

Smaraner 27. Nov 2012 16:30

AW: Button von Nutzer erstellen
 
Danke, hat geklappt. :-D

Smaraner 27. Nov 2012 16:55

AW: Button von Nutzer erstellen
 
Wie kann ich es jetzt hinbekommen, das dieser ersellte Button das beim klicken ausführt:

Delphi-Quellcode:
 Application.MessageBox('Test', 'Test', MB_ICONQUESTION or MB_OK);

nuclearping 27. Nov 2012 17:00

AW: Button von Nutzer erstellen
 
Delphi-Quellcode:
unit Form1;

interface

...

type
  TForm1 = class(TForm)
    ...
  private
    procedure CreateButton;
    procedure MyButtonClick(Sender: TObject);
  public
    ...
  end;

implementation

procedure TForm1.CreateButton;
var
  Button: TButton;
begin
  Button := TButton.Create;
  Button.Parent := Form;
  Button.Caption := 'Muh!';
  Button.Name := 'MeinButton1';
  Button.OnClick := MyButtonClick;
end;

procedure TForm1.MyButtonClick(Sender: TObject);
var
  Button: TButton;
begin
  if not (Sender is TButton) then
    Exit;

  Button := Sender as TButton;
  ShowMessage(Button.Name + ' wurde angeklickt: ' + Button.Caption);
end;

...

end.

Smaraner 27. Nov 2012 17:34

AW: Button von Nutzer erstellen
 
Der Button wird ja aber vom Nutzer erstellt, nicht von mir, und der kann den Button ja beliebig benennen.

DeddyH 27. Nov 2012 17:44

AW: Button von Nutzer erstellen
 
Lass die Namenszuweisung weg, das klappt eh nur 1 mal. Und benennen kann der User den Button wohl kaum, höchstens beschriften.

uligerhardt 27. Nov 2012 18:02

AW: Button von Nutzer erstellen
 
Zitat:

Zitat von nuclearping (Beitrag 1193262)
Delphi-Quellcode:
  if not (Sender is TButton) then
    Exit;
  Button := Sender as TButton;

Wenn man schon mit
Delphi-Quellcode:
is
geprüft hat, ob ein Cast zulässig ist, kann man beherzt hart casten:
Delphi-Quellcode:
Button := TButton(Sender);
Gibt's eigentlich irgendwo eine Seite, die das gut erklärt, damit man was zum Verlinken hat?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Seite 1 von 3  1 23      

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