मैंने एक टीएसक्रॉलबॉक्स बनाया है। मैंने बटन क्लिक पर गतिशील रूप से लेबल और एडिट बॉक्स जोड़ा है। घटक के स्थान को सेट करने के लिए मैंने ऊंचाई, चौड़ाई, बाएं, घटकों की शीर्ष संपत्ति का उपयोग किया है। लेकिन जब 5 घटकों के बाद स्क्रीन पर स्क्रॉल बार दिखाई देता है, तो अगले घटक स्थान परेशान हो जाते हैं। और अगला घटक स्क्रॉलबॉक्स पर तुल्यकालिक तरीके से नहीं रखा गया है।बटन क्लिक पर गतिशील रूप से एक से नीचे TScrollBox में घटक कैसे जोड़ें?
उत्तर
स्क्रॉलबॉक्स पर रखे गए नियंत्रणों के लिए Top
समन्वय को पहले से ही "स्क्रॉल" की मात्रा को ध्यान में रखना होगा। यदि आप एक बार में सभी नियंत्रण जोड़ते हैं तो यह कोई समस्या नहीं है, क्योंकि स्क्रॉलबॉक्स को "स्क्रॉल" करने का मौका नहीं मिलता है।
यदि आप के बाद स्क्रॉलबॉक्स पर नियंत्रण जोड़ते हैं तो इसे "स्क्रॉल" करने का मौका मिला है, आपको उस लंबवत "स्क्रॉल" की मात्रा को ध्यान में रखना होगा। यहां कोड का एक नमूना टुकड़ा है जो ScrollBox1
पर लेबल्स जोड़ देगा, खाते में लंबवत स्क्रॉल लेगा ताकि नियंत्रण एक-दूसरे को ओवरलैप न करें। यहां मैं अगले नियंत्रण के लिए Top
को पकड़ने के लिए फॉर्म की "टैग" संपत्ति का उपयोग कर रहा हूं, और लेबल के लिए अद्वितीय नाम उत्पन्न करने के लिए मैं Tag
का भी उपयोग कर रहा हूं (ताकि आप देख सकें कि वे सही पर स्क्रॉलबॉक्स में जा रहे हैं निर्देशांक)।
var LastControl: TControl;
procedure TForm31.Button1Click(Sender: TObject);
var L: TLabel;
begin
L := TLabel.Create(Self);
L.Caption := 'Test: ' + IntToStr(Tag);
L.Parent := ScrollBox1;
if Assigned(LastControl) then
L.Top := LastControl.Top + LastControl.Height
else
L.Top := 0;
Tag := Tag + L.Height;
LastControl := L;
end;
और फिर भी एक अन्य:
procedure TForm31.Button1Click(Sender: TObject);
var L: TLabel;
begin
L := TLabel.Create(Self);
L.Caption := 'Test: ' + IntToStr(Tag);
L.Parent := ScrollBox1;
L.Top := Tag + ScrollBox1.VertScrollBar.Size - ScrollBox1.VertScrollBar.Position;
Tag := Tag + L.Height;
end;
एक अन्य दृष्टिकोण मैं कभी कभी उपयोग किए गए अंतिम नियंत्रण का ट्रैक रखने के है कि पिछले जोड़ा नियंत्रण के निर्देशांक पर नए नियंत्रण के लिए जोड़ा गया है और आधार निर्देशांक है दृष्टिकोण यह निर्देशांक के आधार पर सबसे कम नियंत्रण पा सकते हैं और अपने नियंत्रण को जोड़ने के लिए होगा:
procedure TForm31.Button1Click(Sender: TObject);
var L: TLabel;
Bottom, TestBottom: Integer;
i: Integer;
begin
// Find "Bottom"
Bottom := 0;
for i:=0 to ScrollBox1.ControlCount-1 do
with ScrollBox1.Controls[i] do
begin
TestBottom := Top + Height;
if TestBottom > Bottom then
Bottom := TestBottom;
end;
L := TLabel.Create(Self);
L.Caption := 'Test: ' + IntToStr(Tag);
L.Parent := ScrollBox1;
L.Top := Bottom;
Tag := Tag + L.Height;
end;
बहुत बहुत धन्यवाद .. यह काम हो गया .. :) – naren
धन्यवाद मुझे कुछ इसी तरह से मदद मिली। –
- 1. मेरे फॉर्म में गतिशील रूप से बटन कैसे जोड़ें?
- 2. गतिशील रूप से एक संवाद बॉक्स में एक बटन जोड़ें
- 3. गतिशील टैब को गतिशील रूप से कैसे जोड़ें और निकालें?
- 4. गतिशील रूप से बटन बनाना और क्लिक करनाक्लिक लिस्टर
- 5. JQuery गतिशील रूप से नियम जोड़ें
- 6. एंड्रॉइड में छवि बटन के नीचे एक टेक्स्ट कैसे जोड़ें?
- 7. टेबल सेल पर एक क्लिक करने योग्य बटन कैसे जोड़ें?
- 8. गतिशील रूप से विधियों को कैसे जोड़ें
- 9. गतिशील रूप से MATLAB GUI में फ़ील्ड जोड़ें?
- 10. Android पर LinearLayout को गतिशील रूप से कैसे जोड़ें?
- 11. कनेक्टेड घटक को गतिशील रूप से
- 12. गतिशील रूप से हटाने के घटक JPanel
- 13. कैसे गतिशील रूप से एक HTML तालिका
- 14. प्राइमफ़ेस डेटा में गतिशील रूप से एक पंक्ति जोड़नाटेबल
- 15. गतिशील रूप से एक पंक्ति में टेक्स्ट व्यू जोड़ें
- 16. एंड्रॉइड में गतिशील रूप से स्पिनर में आइटम कैसे जोड़ें?
- 17. एक गतिशील वस्तु से गतिशील रूप से
- 18. टाइमस्टैम्प में गतिशील रूप से अंतराल कैसे जोड़ें?
- 19. गतिशील रूप से छवियों को जोड़ें jquery
- 20. गतिशील रूप से एक RichTextBox
- 21. गतिशील रूप से अज्ञात ऑब्जेक्ट में गुण कैसे जोड़ें?
- 22. स्ट्रिंग सरणी में तत्वों को गतिशील रूप से कैसे जोड़ें?
- 23. गतिशील रूप से 64 बटन (8x8)
- 24. बटन गतिशील रूप से बनाएँ - jquerymobile
- 25. एक जेएलएबल गतिशील रूप से
- 26. मास्टरपेज गतिशील रूप से
- 27. गतिशील रूप से ASP.NET पृष्ठ पर HTML जोड़ें
- 28. uitableviewcell में गतिशील रूप से बटन जोड़ना - आईफोन ऐप
- 29. गतिशील रूप से jQuery
- 30. UITabBarItem गतिशील रूप से
वहाँ 'ScrollTop' या' ScrollWhatever' की तरह, scrollbox से कुछ संपत्ति होना चाहिए। आप इसे घटक की नई स्थिति से घटा सकते हैं। –
मैं स्क्रॉलटॉप जैसी कोई संपत्ति नहीं ढूंढ पा रहा हूं .. :( – naren