2012-11-11 12 views
7

मुझे cbClsExtra और cbWndExtraWNDCLASSEX सदस्यों के बारे में अधिक विस्तृत जानकारी चाहिए जो RegisterClassEx winapi में उपयोग किए जाते हैं।cbClsExtra और cbWndExtra

MSDN कहता है कि इन सदस्यों का उपयोग अतिरिक्त बाइट्स के आकार को सेट करने के लिए किया जा सकता है जो कक्षा के लिए आवंटित किए जाएंगे और तदनुसार प्रत्येक विंडो इंस्टेंस के लिए आवंटित किए जाएंगे।

MSDN कहते

प्रणाली शून्य करने के लिए बाइट्स initializes।

1) क्या इसका मतलब यह है कि बाइट शून्य मान के साथ प्रारंभ किया गया है या सिस्टम डिफ़ॉल्ट रूप से शून्य (कोई नहीं) बाइट आवंटित करता है?

2) सबसे महत्वपूर्ण सवाल यह है कि इस अतिरिक्त बाइट्स का उपयोग कैसे करें (उदाहरण के लिए कृपया Winapi के साथ उदाहरण प्रदान करें) और उनका उपयोग सबसे आम कैसे किया जाता है?

अग्रिम धन्यवाद।

उत्तर

6

क्या इसका मतलब यह है कि बाइट शून्य मान के साथ प्रारंभ किया गया है या सिस्टम डिफ़ॉल्ट रूप से शून्य (कोई नहीं) बाइट आवंटित करता है?

प्रारंभ हमेशा चर पर किया जाता है, तो यह सेट करने के लिए 0.

के लिए आवंटित अतिरिक्त स्मृति का मतलब सबसे महत्वपूर्ण सवाल यह है कि इस अतिरिक्त बाइट का उपयोग करने के लिए (प्रदान उदाहरण का इस्तेमाल किया WinAPI के साथ खुश है) और कैसे वे सबसे आम उपयोग किया जाता है?

यह करने के लिए एक ही रास्ता, GetClassLongPtr और GetWindowLongPtr कार्यों के माध्यम से है, इन कार्यों काफी सरल फोन Get* मूल्य प्राप्त करने के उदाहरण (की जरूरत नहीं करने के लिए कर रहे हैं, और मान सेट Set* सेट गुजर या तो वर्ग ATOM या विंडो HWND)।