मैं अपने gamedev परियोजनाओं के लिए बहुत कम इन-गेम जीयूआई लाइब्रेरी बना रहा हूं, लेकिन मुझे फोकस को संभालने का एक साफ तरीका खोजने में परेशानी हो रही है।जीयूआई लाइब्रेरी: फोकस को सही तरीके से कैसे संभालें?
मेरी लाइब्रेरी नेस्टेड लिस्टबॉक्स और विजेट पदानुक्रमों का समर्थन करती है, लेकिन मुझे विजेट फोकस से निपटने के दौरान अजीब व्यवहार को रोकने का कोई तरीका नहीं दिख रहा है। उदाहरण प्रपत्र:
|------------|
| Form [X] |
|------------|
| |
| [Button01] |
| |
| [List1][v] |
| |
| [Button02] |
| |
|------------|
मेरे डिजाइन एक Context
उद्देश्य यह है कि Widget
वस्तुओं की एक सूची संग्रहीत करता है सुविधाएँ। Widget
में कई बच्चे हो सकते हैं। मेरे पास Widget
के सभी बच्चों/माता-पिता को दोबारा शुरू करने की सुविधा है।
मेरा ध्यान तर्क वर्तमान में है: संदर्भ व्यस्त है
हैं (खींच, आकार बदलने, संपादन ...), फोकस
में परिवर्तन नहीं करते माउस संदर्भ के बाहर दबाया जाता है तो या संदर्भ विकेन्द्रित, सब कुछ
सर्वोच्च दबाया बच्चे का पता लगाएं, है unfocus यदि कोई
का पता लगाएं "गहरे" पदानुक्रम में बच्चे को दबाया
Unfocus सब कुछ लेकिन विजेट के रूप में गहरी गहरी बच्चे के रूप में, और ध्यान केंद्रित संदर्भ
लेकिन यह कई अवसरों में विफल रहता है, विशेष रूप से नेस्टेड सूची के साथ और बक्सें। मैंने ऑनलाइन एक अच्छा समाधान खोजने की कोशिश की लेकिन कोई आलेख/ट्यूटोरियल नहीं मिला। मुझे यकीन नहीं है कि मुझे विशेष विजेट्स पर विशेष ध्यान देना चाहिए, या यदि कोई "अच्छा" एल्गोरिदम है जो किसी भी स्थिति में ठीक से काम करता है।
जीयूआई पुस्तकालय आमतौर पर विजेट फोकस कैसे संभालते हैं?
क्या ListBoxes या ComboBoxes जैसे विजेट्स पर विशेष ध्यान देने के लिए विशेष निर्देश हैं?
यहां मेरी जीयूआई लाइब्रेरी के source code और video here है।
उम्म .. यह आपके प्रश्न का उत्तर देने से संबंधित नहीं है। यह आपके कोड/भंडारों पर सिर्फ एक टिप्पणी है। सुनिश्चित नहीं है कि उचित सी ++ .. कार्यान्वयन सहित कोड की प्रत्येक पंक्ति आपके शीर्षकों में या कक्षा घोषणा के भीतर है .. सबकुछ इनलाइन घोषित किया गया है। संकलन करने के लिए आप कितने घंटे इंतजार करते हैं? अगला यह है कि मुश्किल से किसी भी पंक्ति में कोई टिप्पणी या कोई दस्तावेज़ीकरण/रीडेम नहीं है .. सबकुछ एसएसवी/एसएसयू/एसएसवीयू नाम दिया गया है .. कुछ भी नहीं के लिए टेम्पलेट्स के टन .. सही फ़ाइल को इंगित करने के लिए स्रोत-कोड लिंक बदलें चेक करना चाहते हैं। वह लिंक एक फ़ोल्डर को इंगित करता है जिसमें कई फाइलें शामिल हैं .. – Brandon
* जीयूआई पुस्तकालय आमतौर पर विजेट फोकस कैसे संभालते हैं? * आप हमेशा [MyGUI] जैसे खुले स्रोत जीयूआई पुस्तकालयों पर एक नज़र डाल सकते हैं (http://mygui.info /)। –
"हालांकि, यह कई अवसरों में विफल रहता है" - यह क्या करता है? आप यह क्या करने की उम्मीद करते हैं? जबकि हम इसमें हैं, "फोकस" से आपका क्या मतलब है? इस नाम से अलग विचार हैं। –