2011-06-23 5 views
5

के लिए आवश्यक वास्तविक आकार की गणना करें मैं GUI में uicontrols के लिए आवश्यक वास्तविक आकार की गणना करने की कोशिश कर रहा हूं ताकि जीयूआई स्वयं को उचित रूप से आकार दे सके। मेरी समस्या यह है कि यूआईकंट्रोल की बाहरी संपत्ति केवल टेक्स्ट क्षेत्र है, और मुझे आस-पास के नियंत्रण (जैसे पॉपअप में नीचे तीर या संपादन नियंत्रण के मार्जिन) के आकार को निर्धारित करने का कोई तरीका नहीं मिल रहा है। क्या नियंत्रण पर सजावट का आकार पाने का कोई तरीका है?MATLAB uicontrol

मैंने MATLAB Answers पर this related question देखा, जो ऐसा लगता है कि यह कोई समाधान भी समाप्त नहीं हुआ है।

संपादित करें:

uicontrol('style', 'popup', 'string', {'a long string'}) 

सीमा केवल मुझे कितना बड़ा "एक लंबी स्ट्रिंग" बताता है:

उदाहरण के लिए, मैं गणना करने के लिए कितना बड़ा इस पॉपअप सामग्री को काटने से बचने के लिए किया जाना चाहिए चाहते हैं है, और मुझे अभी भी पता नहीं है कि पॉपअप को कितना बड़ा बनाना है। मैं यह निर्धारित करने का एक तरीका चाहता हूं कि उपयोगकर्ता के प्रदर्शन पर कितनी अतिरिक्त जगह की आवश्यकता है (यह माने बिना कि वे कौन से ओएस या फ़ॉन्ट आकार का उपयोग करते हैं)।

उत्तर

0

यूकंट्रोल Position संपत्ति आपको नियंत्रण के लिए बाध्य आयत की ऊंचाई और चौड़ाई प्रदान करती है। यह हमेशा मेरे लिए काम किया है। क्या कोई नियंत्रण है जहां यह संपत्ति पर्याप्त जानकारी प्रदान नहीं करती है?

+0

स्थिति केवल आपको नियंत्रण का वर्तमान आकार बताती है। यह आपको नियंत्रण के आकार के बारे में कुछ भी नहीं बताता है। मैंने समस्या का एक उदाहरण जोड़ने के लिए सवाल संपादित किया। –

0

यदि आप जिन GUI को बना रहे हैं, उन्हें विशेष रूप से जावा घटकों से इकट्ठा किया जा सकता है, तो आप जावा स्विंग घटकों (एम-कोड से सभी) का उपयोग करके विंडो बनाने और चलाने के लिए MATLAB के जावा एकीकरण का उपयोग कर सकते हैं। यह पूरी तरह से समस्या को दूर करता है, क्योंकि जावा लेआउट प्रबंधक यूआई लेआउट को सही तरीके से कर सकते हैं।

1

आप यह पता लगाने के लिए get (hObject, 'limit') का उपयोग कर सकते हैं कि यूकंट्रोल में कितनी स्ट्रिंग है। आप देख सकते हैं कि यह यूकंट्रोल की स्थिति से बड़ा है या नहीं।

+1

जैसा कि मैंने अपने प्रश्न में उल्लेख किया है, हद तक संपत्ति केवल आपको स्ट्रिंग द्वारा कब्जा कर लिया गया स्थान बताती है। स्ट्रिंग के आस-पास के नियंत्रण को अतिरिक्त स्थान की आवश्यकता होती है। यदि स्थिति हद तक बराबर है, तो नियंत्रण पहले से ही बहुत छोटा है। –