2011-12-21 25 views

Trả lời

10

Bạn có nghĩa là như thế này?

procedure TForm1.Button1Click(Sender: TObject); 
var 
    Form: TForm; 
    Lbl: TLabel; 
    Btn: TButton; 
begin 

    Form := TForm.Create(nil); 
    try 
    Form.BorderStyle := bsDialog; 
    Form.Caption := 'My Dynamic Form!'; 
    Form.Position := poScreenCenter; 
    Form.ClientWidth := 400; 
    Form.ClientHeight := 200; 
    Lbl := TLabel.Create(Form); 
    Lbl.Parent := Form; 
    Lbl.Caption := 'Hello World!'; 
    Lbl.Top := 10; 
    Lbl.Left := 10; 
    Lbl.Font.Size := 24; 
    Btn := TButton.Create(Form); 
    Btn.Parent := Form; 
    Btn.Caption := 'Close'; 
    Btn.ModalResult := mrClose; 
    Btn.Left := Form.ClientWidth - Btn.Width - 16; 
    Btn.Top := Form.ClientHeight - Btn.Height - 16; 
    Form.ShowModal; 
    finally 
    Form.Free; 
    end; 

end; 
+1

Ah, tôi nghĩ rằng để tạo các biểu mẫu động, tôi cần những tệp đó, tôi sẽ không tin nó quá dễ dàng (lần tới tôi sẽ thử trước khi yêu cầu). Cảm ơn bạn –

+4

@ Bắt đầu phân tích tệp .dfm chuyển đổi tệp .dfm thành các phân bổ thuộc tính giống như mã trong câu trả lời tuyệt vời của Andreas. –

+2

+1 Câu trả lời hay. Trên một lưu ý phụ, bạn không phải sử dụng các biến cho mỗi điều khiển được thêm vào biểu mẫu. Bạn có thể, ví dụ, sử dụng 'với TLabel.Create (Form) do' để thêm một nhãn và sửa đổi các thuộc tính của nó. Delphi sẽ gán cho nó một tên duy nhất và bạn có thể thay đổi nó nếu bạn muốn. –

3

Vâng, nó có thể:

procedure TForm1.Button1Click(Sender: TObject); 
var 
    Form: TForm; 

begin 
    Form:= TForm.Create(Self); 
    try 
    Form.ShowModal; 
    finally 
    Form.Free; 
    end; 
end; 
Các vấn đề liên quan