2011-07-07 20 views
11

मैंने सीएमएनयू आइटम की टूल टिप सेट करने के लिए इस तरह कुछ उपयोग करने का प्रयास किया (जैसा कि here वर्णित है) लेकिन यह सिर्फ एक पंक्ति में प्रदर्शित किया जा रहा है और लाइन ब्रेक दिखाई नहीं दे रहा है।एमएफसी सीएमएनयू टूलटिप प्रदर्शित नहीं किया जा रहा है

// read control id 
UINT id = menu->GetMenuItemID(1235); 
// modify caption and add tooltip? 
menu->ModifyMenu(id, MF_BYCOMMAND, id, "Click here\nThis is the tooltip for the menu item ..."); 

मैंने मेनू आइटम के दृश्य स्टूडियो संसाधन डिजाइनर में सीधे उसी प्रभाव के साथ कैप्शन सेट करने का प्रयास किया। क्या आप मुझे गलत क्या बता सकते हैं? मैं विंडोज 7 पर वीएस 2008 का उपयोग कर रहा हूं।

किसी भी मदद की सराहना की जाती है!

+0

विजुअल स्टूडियो डिजाइनर में मेनू गुणों में टेक्स्ट सेट करने का प्रयास कर रहा है। मैं पूर्ण संदर्भ पर 100% स्पष्ट नहीं हूं लेकिन ऐसा लगता है कि यह एक एमएफसी मुद्दा हो सकता है। –

+0

क्या आपने 'MF_STRING' बिट भी जोड़ने का प्रयास किया है? जैसे 'मेनू-> ModifyMenu (आईडी, MF_BYCOMMAND | MF_STRING, आईडी, "यहां क्लिक करें \ n यह मेनू आइटम के लिए टूलटिप है ..."); –

+0

आपकी टिप्पणियों के लिए धन्यवाद। @ जोनाथनवुड: मैंने पहले ही कोशिश की है (मेरी मूल पोस्ट देखें) और इसका एक ही प्रभाव था। @ जोनासगुले: एमएफ_स्ट्रिंग बिट का कोई प्रभाव नहीं पड़ा। – Norman

उत्तर

1

शायद आपने अपने एप्लिकेशन में विंडोज एक्सपी सामान्य नियंत्रण नहीं जोड़े हैं।

अपने stdafx.h के लिए आम नियंत्रण जोड़ने का प्रयास करें:

#ifdef UNICODE 
#if defined _M_IX86 
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 
#elif defined _M_IA64 
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
#elif defined _M_X64 
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
#else 
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 
#endif 
#endif 
1

Looks like an duplicate

मुख्य रूप से आप \ r \ n \ N के बजाय का उपयोग करना चाहिए, क्योंकि यह MFC क्या उम्मीद है।

+0

काम नहीं करता है। परिणाम वही है जैसे '\ n' अकेले उपयोग किया जाता है। पाठ एक पंक्ति में प्रदर्शित होता है और पूरी तरह से न्यूलाइन चरित्र को अनदेखा करता है। (ध्यान दें कि '\ r \ n' अभी भी टेक्स्ट में हैं [' GetMenuString'] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647983%28v=vs के साथ लाने के रूप में। 85% 29.aspx) स्ट्रिंग में दोनों अक्षरों की प्रतिलिपि बनाता है) – Blacktempel