Registriert seit: 26. Okt 2005
Ort: Kiel
13 Beiträge
Delphi 7 Personal
|
Re: Buttons dynamisch erstellen
27. Feb 2006, 19:01
Zitat von glkgereon:
Zitat von Pelzi:
Zitat von glkgereon:
Zitat von jfheins:
Du musst noch top, height und width enstellen, damit der Button weis, wo er ist
Ach, und nen Parent braucht er auch noch ...
Idealerweise sagst du ihm auch noch was er beim OnClick machen soll (Wozu sonst ein Button?)
Und damit er wirklich gezeigt wird muss man glaub ich noch Button.Show; sagen...
So der Tipp mit dem Parent war gut
Wo du es schon ansprichst, Onclick ereignisse, in diesem Fall brauchte ich die ganzen buttons zwar nur wegen ihres schönen aussehens, aber in zukunft kann es durchaus passieren, das sie etwas bewirken sollen.
Kann mir da jemand einen Link geben oder erklären wie es funktioniert?
Pelzi
Weil sie schön aussehen?
OnClick:
einfach eine
procedure Click(Sender: TObject);
in der Form deklarieren und dann
Button.OnClick:=Click;
Also wo jetzt die Prozedur deklarieren?
wenn ich es so mache bekomme ich eine Fhelermeldung mal die ganze unit)
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
buttons: array[0..20] of TButton;
forms: array[0..20] of TForm;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
for i:=0 to 20 do
begin
buttons[i]:=TButton.create(form1);
buttons[i].Left:=20;
buttons[i].top:=80;
buttons[i].height:=35;
buttons[i].width:=80;
buttons[i].Visible:=true;
forms[i]:=TForm.Create(form1);
buttons[i].Parent:=forms[i];
forms[i].Visible:=true;
forms[i].left:=40*i;
forms[i].width:=38;
buttons[i].OnClick:=click;
end;
end;
procedure click(Sender: TObject);
begin
showmessage(' du hast geklicked');
end;
end.
Zitat:
[Fehler] Unit1.pas(46): Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'
Pelzi
|
|
Zitat
|