2011-06-27 12 views
5

में किसी फ़ॉर्म की चौड़ाई और ऊंचाई को सेट करने के लिए कैसे मैं डेल्फी 7 में किसी फ़ॉर्म की चौड़ाई और ऊंचाई सेट कर सकता हूं? इस फॉर्म में विभिन्न प्रकार के नियंत्रण होते हैं। मुझे मुख्य फॉर्म आकार 127x263 पर सेट करने की आवश्यकता है। इसे बटन क्लिक में प्रोग्रामेटिक रूप से बदलना चाहिए।डेल्फी

+3

कृपया सुनिश्चित करें कि आप हमेशा जेनेरिक डेल्फी टैग शामिल करते हैं क्योंकि बहुत से लोग डेल्फी -7 टैग की जांच नहीं करते हैं। मैंने इसे इस बार जोड़ा लेकिन भविष्य के प्रश्नों के लिए कृपया इसे याद रखें - आपको इस तरह के बेहतर उत्तर मिलेंगे। –

+0

ठीक है। मैं भविष्य में ऐसा करूँगा, धन्यवाद –

उत्तर

13

तो जैसा:

MainForm.Width := 127; 
MainForm.Height := 263; 

या शायद आप उन आयामों को क्लाइंट क्षेत्र सेट करना चाहते हैं:

MainForm.ClientWidth := 127; 
MainForm.ClientHeight := 263; 
बेशक

, तो आप सबसे अधिक डिजाइन समय में वस्तु इंस्पेक्टर में इन गुणों को सेट और फिर वे आपके फॉर्म की .dfm फ़ाइल में लिखे गए हैं।

आप इस तरह के एक परिवर्तन के लिए एक बटन पर होने वाले क्लिक बटन पर क्लिक कि इस तरह दिखता है के लिए कोई हैंडलर जोड़ना चाहते हैं:

procedure TMainForm.Button1Click(Sender: TObject); 
begin 
    Width := 127; 
    Height := 263; 
end; 

यह पिछले अंश में आप MainForm वस्तु दृष्टान्त निर्दिष्ट करने की आवश्यकता नहीं है क्योंकि इवेंट हैंडलर TMainForm वर्ग का सदस्य है और इसलिए Self निहित है।

आप उलरिच जेरहार्ट की सलाह का पालन करना चाहते हैं (टिप्पणी देखें) और SetBounds का उपयोग तो आप लिखना होगा:

SetBounds(Left, Top, 127, 263); 

अंत में, आप फ़ॉन्ट स्केलिंग से निपटने के लिए की जरूरत है अपने रूप Scaled = True तो है। इस तरह हार्ड कोडित पिक्सेल आयाम आपकी मशीन से अलग मूल्य पर फ़ॉन्ट स्केलिंग सेट वाली मशीनों के लिए उपयुक्त नहीं होंगे।

+13

चौड़ाई और ऊंचाई को अलग-अलग बदलने के बजाय, मैं अपडेट को कम करने के लिए सेटबाउंड का उपयोग करता हूं। –