2010-11-26 10 views
7

TRADioGroup घटक में विकल्पों में से किसी एक को अदृश्य बनाने का कोई विचार? (डेल्फी 7)TRADioGroup में किसी आइटम को अदृश्य कैसे करें?

alt text

+1

वास्तव में यह करने के लिए अपने कारण जानने के बिना, मुझे लगता है कि आपको लगता है कि या तो उपलब्ध नहीं या लागू नहीं है कुछ विकल्प निकालना चाहते हैं। तो एक सामान्य यूजर इंटरफेस दिशानिर्देश के रूप में, मैं आपको इसके बजाय ** ** इसे अक्षम करने का सुझाव दूंगा। –

उत्तर

15

मुझे लगता है कि इसे और अधिक Buttons[] संपत्ति के बजाय का उपयोग करने के अर्थ होगा, इसलिए

RadioGroup.Buttons[Index].Visible := False 

और प्रयोज्य-वार, अक्षम करने के लिए ()

4
RadioGroup1.Controls[...].Visible := False; 
+2

हालांकि यह एक रिक्त स्थान छोड़ देगा जहां आइटम अदृश्य हो गया था :) – Plastkort

1

TRadioGroup.Items संपत्ति से वांछित स्ट्रिंग निकालें:

RadioGroup1.Items.Delete(IndexHere); 
+0

जो अन्य वस्तुओं को एक से ऊपर ले जाता है (इसलिए यदि आप कहीं और इंडेक्स का उपयोग करते हैं, तो आपको इसके लिए समायोजित करने की आवश्यकता है)। –

+0

सच है, क्योंकि आइटम प्रॉपर्टी से स्ट्रिंग को हटाने से कोरसपॉन्डिंग TRADio बटन हटा दिया जाएगा और शेष बटन को तदनुसार बदल दिया जाएगा। –

0

छिपाने के बजाय यदि आप रेडियो समूह में स्ट्रिंग/आइटम (दृश्यमान या नहीं) के आइटमइंडेक्स को बनाए रखना चाहते हैं तो आपको उन्हें कहीं और रखना होगा। इसलिए एक TStringlist घोषित करें जो सभी रेडियोग्रुप आइटमों को अलग-अलग रखती है। फिर रेडियो समूह चयन के बाद उस स्ट्रिंगलिस्ट में इंडेक्स को देखें। कुछ की तरह:

RadioGroup: TRadioGroup; 
AllRadioItems: TStringList; 
fill both... ect 


RealIndex := AllRadioItems.IndexOf(RadioGroup.Items[RadioGroup.ItemIndex]); 

एक छोटे से भूमि के ऊपर है, लेकिन सरल और समझ में आता है ...

संबंधित मुद्दे