ITextRange الخاص بـ RichEdit:تحديد ما إذا كان مؤشر المستخدم موجودًا في كلمة ما؟

StackOverflow https://stackoverflow.com/questions/3321010

  •  28-09-2020
  •  | 
  •  

سؤال

أنا استخدم ITextRange من عنصر تحكم RichEdit.أريد تحديد ما إذا كان مؤشر المستخدم يلمس كلمة ما.

المشكلة هي أن الدعوة iTextRange.expand(tomWord) سوف تشمل مساحات المخلفات:

تشير الأقواس إلى النطاق:

Before: 

      weas[]el   .

After:

      [weasel   ].

كانت خطتي الأصلية هي توسيع النطاق والتحقق مما إذا كان يحتوي على المؤشر.لكن مؤشر المستخدم يمكن أن يكون مسافتين بعد كلمة "ابن عرس"، وسيستمر النطاق في التوسع ليحتوي عليها.إذن ماذا يمكنني أن أفعل؟

هل كانت مفيدة؟

المحلول

أستطيع أن أتذكر أنني واجهت مشكلة مماثلة:أي كيفية اختيار كلمة دون تحديد أي مسافة زائدة.أعتقد أن هذا الرمز مثل هذا C++

textRange->StartOf(tomWord,tomMove,NULL);
textRange->MoveEnd(tomWord,1,NULL);

يجب أن يوفر لك الاختيار الصحيح، بحيث يمكنك بعد ذلك اختبار ما إذا كانت علامة الإقحام موجودة في التحديد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top