저는 델파이가 처음이고 새로운 폼을 동적으로 생성하는데 문제가 있습니다. 내가 만든 GUI의 요소 속성을 사용하여 새 양식을 만들고 싶습니다. 내가 생성자에서 다시 모든 GUI 요소를 만들 단지 캡션과 같은 요소의 일부 속성을 modificate 것이 아니라에서 위치 및 기타 속성을 유지 싶지 않는델파이 6은 생성자를 사용하여 새로운 폼을 생성합니다.
unit AddEmployeeF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TAddEmployee = class(TForm)
GroupBox1: TGroupBox;
AddName: TLabel;
AddDept: TLabel;
AddPhone: TLabel;
AddExtension: TLabel;
AddDetails: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure CancelButtonClick(Sender: TObject);
private
{ Private declarations }
public
constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;
end;
var
AddEmployee: TAddEmployee;
implementation
{$R *.dfm}
constructor TAddEmployee.CreateNew(AOwner: TComponent; Dummy: Integer = 0; Detail : String);
begin
inherited Create(AOwner);
AddDetails.Caption := Detail;
end;
procedure TAddEmployee.CancelButtonClick(Sender: TObject);
begin
self.Close;
end;
end.
을 : 여기에 동적으로 생성 할 양식입니다 GUI 정의. 있을 수있다? 그리고 다른 양식에서 양식을 만드는 방법은? :
procedure TWelcome.SpeedButton1Click(Sender: TObject);
var
myForm :TAddEmployee;
begin
myForm := TAddEmployee.CreateNew(AOwner, Dummy, Details);
myForm.ShowModal;
end;
는 TCustomForm' 이미 사용자 정의'은'reintroduce' 수정하거나, 다른 사람에게로()'생성자를 만듭니다를 선언해야합니다,') (만들기 '라는 이름의 생성자가 W1010 Method 'Create'가 기본 유형 'TCustomForm'경고의 가상 메소드를 숨 깁니다. –
@Remy 고마워, 나는 그것을 놓쳤다. –