2010-01-28 16 views

उत्तर

12

यह वास्तव में निर्भर करता है कि आप कौन से नियंत्रण बनाना चाहते हैं, खासकर यदि आप जानना चाहते हैं कि आप कौन से झंडे सेट कर सकते हैं। आम तौर पर यह नीचे जाता है:

आम तौर पर Create या CreateEx का उपयोग करके एक सीडब्ल्यूएनडी-व्युत्पन्न नियंत्रण बनाया गया है। एक CButton, उदाहरण के लिए के लिए:

CButton button; 
button.Create("Button text", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | DT_CENTER, CRect(5, 5, 55, 19), this, nID); 

जहां CRect बटन स्थिति निर्धारित करता, this माता पिता खिड़की के लिए सूचक है, और nID नियंत्रण आईडी है।

यदि नियंत्रण अपेक्षित नहीं है, तो शायद यह है कि कुछ झंडे गुम हैं। मेरा सुझाव है कि आप डिज़ाइन मोड में नमूना नियंत्रण खींचें, आरसी फ़ाइल में उस नियंत्रण के लिए कोड देखें, और झंडे को Create कॉलर पर कॉपी करें।

संदेश मानचित्र के लिए, वे आम तौर पर मूल विंडो पर जाते हैं। मान जो आपने Create में उपयोग किया है वह यहां महत्वपूर्ण है, क्योंकि यह वह संख्या होगी जो संदेश मानचित्र में नियंत्रण की पहचान करेगी। यदि आपके पास निश्चित नियंत्रण हैं, तो आप अपने नियंत्रण के लिए nID नंबरों को हार्ड-कोड कर सकते हैं (उदाहरण के लिए 10000 से शुरू); यदि नहीं, तो आपको माता-पिता विंडो को पहचानने के लिए एक तरीका प्रदान करना होगा। फिर आप बस संदेश मैप प्रविष्टियां जोड़ें।

ON_BN_CLICKED(10000, OnBnClicked) 
ON_CONTROL_RANGE(BN_CLICKED, 10010, 10020, OnBtnsClicked) 

आप ON_CONTROL_RANGE संदेश मानचित्र का उपयोग एक ही कार्य करने के लिए आईडी की एक रेंज को मैप कर सकते हैं।

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