क्या इसके लिए स्रोत फाइलों के बिना TForm बनाना और दिखाना संभव है? मैं रनटाइम पर अपने फॉर्म बनाना चाहता हूं और खाली * .dfm और * .pas फाइलें मुझे बेकार लगती हैं।* .dfm और * .pas फ़ाइलों के बिना गतिशील रूप से फ़ॉर्म बनाना संभव है?
धन्यवाद
क्या इसके लिए स्रोत फाइलों के बिना TForm बनाना और दिखाना संभव है? मैं रनटाइम पर अपने फॉर्म बनाना चाहता हूं और खाली * .dfm और * .pas फाइलें मुझे बेकार लगती हैं।* .dfm और * .pas फ़ाइलों के बिना गतिशील रूप से फ़ॉर्म बनाना संभव है?
धन्यवाद
आप इस तरह मतलब है?
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;
हाँ, यह संभव है:
procedure TForm1.Button1Click(Sender: TObject);
var
Form: TForm;
begin
Form:= TForm.Create(Self);
try
Form.ShowModal;
finally
Form.Free;
end;
end;
आह, मैंने सोचा था कि रूपों मैं उन फ़ाइलों की जरूरत के गतिशील बनाने के लिए, मैं यह इतना आसान (अगली बार जब मैं पहले से पूछना कोशिश करेंगे) है विश्वास नहीं होगा। धन्यवाद –
@ मार्टिन .dfm फ़ाइल पार्सिंग .dfm फ़ाइल को एंड्रैस के उत्कृष्ट उत्तर में कोड की तरह संपत्ति असाइनमेंट में परिवर्तित करता है। –
+1 अच्छा जवाब। एक तरफ ध्यान दें, आपको फॉर्म में जोड़े गए प्रत्येक नियंत्रण के लिए चर का उपयोग करने की आवश्यकता नहीं है। उदाहरण के लिए, आप लेबल जोड़ने और इसके गुणों को संशोधित करने के लिए 'TLabel.Create (फॉर्म) do' के साथ' का उपयोग कर सकते हैं। डेल्फी इसे एक अनूठा नाम सौंपेगा और यदि आप चाहें तो इसे बदल सकते हैं। –