كيفية جعل Richedit لا يتم تحديده أو تسليط الضوء عليه؟

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

  •  29-09-2020
  •  | 
  •  

سؤال

مساعدة في عدم إمكانية تمييز Richedit/تعطيل التمييز أو تحديد النص؟قم أيضًا بإزالة موضع المؤشر.التطبيق مخصص لعرض نص RTF فقط وليس التحرير لذلك لا أحتاج إلى هذه الميزات.في دلفي

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

المحلول

يمكنك ضبط SelLength الملكية إلى 0 في OnSelectionChange حدث

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
 TRichEdit(Sender).SelLength:=0;
end;

نصائح أخرى

فقط للتوضيح - هل تحتاج بالتأكيد ميزات نصية غنية، مثل اللون، الحجم، إلخ؟وأنت بالتأكيد تريد أن تحظر نسخة من سيطرتك ولصقها في مكان آخر؟هل هذا بالضبط؟

أود أن أقترح عليك تجاوز onmouseup، onsaveclipboard، onselectionchange من trichedit والأساليب الموروثة getseltextbuf، copytoclipboard، cuttoclipboard، selectall .. ربما إعادة رسم وتحديث وبضعة أكثر.

تأكد من ما تريد - إذا كنت تستطيع العيش بدون ميزات نصية غنية، فما عليك سوى استخدام بعض TLABLES واكتب النص برمجيا.

إذا كان يجب أن يكون لديك نص غني أرى بعض الخيارات - اكتب الكثير من المعالجين لمكوناتك، أو أنشئ مكون الخاص بك مشتق من TrichEdit، مما يجعل من الأسهل أن يكون لديك سفرال منهم على شكل واحد، أو إلقاء نظرة علىمواقع مثل Tori's ومعرفة ما إذا كان شخص آخر قام بالفعل بهذا الصدام.

حظا سعيدا.

يمكنك تعيين خاصية ReadOnly من Richedit ليكون صحيحا - وهذا يمنع ضغطات المفاتيح، إلخ.

يمكنك ببساطة تعطيل Richedit لمنع اختيار النص وإخفاء مؤشر النص:

giveacodicetagpre.

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