2009-09-26 14 views
9

के बाद कर्सर को स्ट्रिंग के अंत में रखकर मैं वीसी 9 का उपयोग कर रहा हूं, मेरे पास एक सीईडीआईटी नियंत्रण है जिसका सामग्री एक बटन के क्लिक पर डिफ़ॉल्ट परीक्षण (कहें - "भरें") पर रीसेट हो जाती है और फिर मैं सीईडीआईटी नियंत्रण के लिए सेटफोकस को कॉल करता हूं। समस्या यह है कि कर्सर डिफ़ॉल्ट पाठ की शुरुआत में ब्लिंक होता है, और मैं इसे डिफ़ॉल्ट स्ट्रिंग के अंत में झपकी देना चाहता हूं।सीईडीआईटी नियंत्रण एमएफसी, सेटविंडोटेक्स्ट

यह कैसे किया जा सकता है?

उत्तर

12

आप इसे पूरा करने के लिए CEdit::SetSel का उपयोग कर सकते हैं।

उदाहरण:

CEdit* e = (CEdit*)GetDlgItem(IDC_EDIT1); 
e->SetWindowText("hello world"); 
e->SetFocus(); 
e->SetSel(0,-1); // select all text and move cursor at the end 
e->SetSel(-1); // remove selection 
+0

धन्यवाद, यह तय किया गया है :) –

+0

क्या कोई मुझे बता सकता है कि 'CCombobox' के लिए एक ही चीज़ कैसे करें? –

+0

@ItbanSeed, 'SetEditSel' विधि आज़माएं। –

6

आपको लगता है कि पूरा करने के लिए CEdit::SetSel उपयोग कर सकते हैं:

CEdit* e = (CEdit*)GetDlgItem(IDC_EDIT1); 

e->SetWindowText("hello world"); 

// e->SetSel(0,-1); // you don't need this line 

e->SetFocus(); 
e->SetSel(-1); 

यह स्ट्रिंग के अंत में कर्सर रखने होगा।

0

मुझे एक अजीब खोज थी लेकिन अभी भी इसके लिए प्रासंगिक है। यह समाधान शुरुआत में मेरे लिए काम नहीं करता था। सेटसेल (-1) पर कॉल करने के बाद भी मेरा कर्सर संपादन बॉक्स के शीर्ष पर जा रहा था। फिर मैंने कुछ कोड फिर से बदल दिया और यह काम करना शुरू कर दिया।

सीखना यह था कि अगर मैं संपादन नियंत्रण को अपडेट करने के बाद कोई अन्य नियंत्रण अपडेट करता हूं, तो कर्सर संपादन बॉक्स के शीर्ष पर जाएगा। लेकिन अगर संपादन बॉक्स अंतिम नियंत्रण अद्यतन है, तो कर्सर संपादन बॉक्स के अंत में रहता है।

जैसे कि मैंने किया था की तरह

  1. एक कोड कुछ & कॉल संपादित करने के लिए SetSel (-1)
  2. अद्यतन स्थिर नियंत्रण पाठ जोड़ें

और कर्सर में रहने नहीं होता समाप्त। लेकिन जब मैंने उसे

  1. अद्यतन स्थिर नियंत्रण करने के लिए बदल
  2. & कॉल संपादित करने के लिए SetSel (-1)

मेरे कर्सर संपादन बॉक्स के अंत में प्रदर्शित किया गया था पाठ जोड़ें।

मेरे पास यह मेरे दिमाग पर था जब से मुझे यहां ज्ञान आधार को अद्यतन करने के लिए यह खोज था। उम्मीद है कि यह एपीआई को कॉल करने के बाद भी कुछ यादृच्छिक आत्मा की मदद करता है जिसका कर्सर संपादन बॉक्स के शीर्ष पर कूदता है।

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