में टेक्स्ट चौड़ाई प्राप्त करें मैं इसके भीतर पाठ की चौड़ाई के लिए एक सीबीयूटन का गतिशील रूप से आकार बदलना चाहता हूं। क्या एमएफसी में ऐसा करने का कोई अंतर्निहित तरीका है, या कुछ निर्दिष्ट टेक्स्ट की पिक्सेल चौड़ाई की गणना करने का एक तरीका है (ताकि मैं CWnd::SetWindowPos
का उपयोग कर सकूं)?एमएफसी
एमएफसी
उत्तर
आप किसी निश्चित फ़ॉन्ट में टेक्स्ट की चौड़ाई की गणना करने के लिए CDC::GetTextExtent का उपयोग कर सकते हैं। टेक्स्ट प्रदर्शित करने वाले नियंत्रण से डिवाइस संदर्भ प्राप्त करने के लिए CWnd::GetDC का उपयोग करें।
यह कठिन है। आपको फ़ॉन्ट का उपयोग करने के लिए बटन पर CWnd::GetFont()
का उपयोग करने की आवश्यकता है, और उसके बाद CDC
पर मानक GetTextText
का उपयोग करें जहां आप उस फ़ॉन्ट का चयन करेंगे। यह @ demoncodemonkey के जवाब देने के लिए की तरह
CClientDC dc(&button);
CFont * pOldFont = dc.SelectObject(button.GetFont());
... dc.GetTextExtent...
dc.SelectObject(pOldFont);
इसके अलावा कुछ लग रहा है, आप DT_CALCRECT
ध्वज के साथ CDC::DrawText कॉल कर सकते हैं। इस तरह पाठ को खींचा नहीं जाएगा, लेकिन आपके द्वारा फ़ंक्शन में भेजे गए सीआरईटी में पाठ की चौड़ाई और ऊंचाई होगी।
यह विशेष रूप से उपयोगी है यदि आप लाइन ब्रेक के साथ टेक्स्ट खींचना चाहते हैं (DT_WORDBREAK
ध्वज का उपयोग करके)। आप CDC::GetTextExtent
का उपयोग करके ऐसा करने में सक्षम नहीं होंगे।
CClientDC hdc(this);
GetRect.SetRect(0,0,iLabelWidth,0);
//
//To get Height of Lable in advance
//
hdc.DrawText(
TempData,
TempData.GetLength(),
GetRect,
DT_CALCRECT | DT_MODIFYSTRING | DT_WORDBREAK
);
- 1. एमएफसी
- 2. एमएफसी
- 3. एमएफसी
- 4. एमएफसी
- 5. एमएफसी
- 6. एमएफसी
- 7. एमएफसी
- 8. मैं एमएफसी
- 9. आप एमएफसी
- 10. मैं एमएफसी
- 11. एमएफसी विंडो
- 12. क्या अभी भी एमएफसी
- 13. क्या यह एमएफसी
- 14. क्या एमएफसी बहिष्कृत है?
- 15. एमएफसी सी ++ ऐप
- 16. एमएफसी सीस्ट्रिंग कक्षा
- 17. एमएफसी/.net/WPF
- 18. एमएफसी सीएसटींग को पूर्णांक
- 19. एमएफसी - मोडल डायलॉग
- 20. windows.h और एमएफसी
- 21. एमएफसी संसाधन/लिंक
- 22. एमएफसी: GetCurrentDirectory फ़ंक्शन
- 23. मैं एमएफसी संदेश बॉक्स
- 24. सीईडीआईटी नियंत्रण एमएफसी, सेटविंडोटेक्स्ट
- 25. एमएफसी थ्रेड को कैसे मारें?
- 26. सी ++ एमएफसी अल्फा पारदर्शी आयत
- 27. मिलीसेकंड में एमएफसी उपाय फ़ंक्शन
- 28. यूनिट परीक्षण एमएफसी यूआई अनुप्रयोग?
- 29. एक एमएफसी विंडो का आकार
- 30. अनमोडिफाइड विजुअल स्टूडियो 2012 एमएफसी टेम्पलेट में लिंक त्रुटियां जब एमएफसी
क्या 'GetTextExtent' और' DrawText' के बीच कोई प्रदर्शन अंतर है? – Richard