2010-07-26 2 views
2

Aidez-moi si le Richedit ne peut pas être mis en surbrillance/désactiver le Hightlight ou la sélection de texte? Retirez également le curseur pos. l'application est destinée à afficher uniquement le texte rtf et ne pas modifier donc je n'ai pas besoin de ces fonctionnalités. dans delphicomment faire le richedit ne pas sélectionner ou hightlight?

Répondre

4

vous pouvez définir la propriété SelLength-0 en cas OnSelectionChange

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

Juste pour préciser - vous caractéristiques de texte doivent être définitivement riches, comme la couleur, la taille, etc? Et vous voulez certainement interdire la copie de votre contrôle & coller ailleurs? Est-ce exactement?

Je suggère que vous remplaciez OnMouseUp, OnSaveCLipboard, OnSelectionChange de TRichEdit et les méthodes héritées GetSelTextBuf, CopyToClipboard, CutToClipboard, SelectAll .. peut-être repeindre, mettre à jour et un peu plus.

Assurez-vous de ce que vous voulez - si vous pouvez vivre sans fonctionnalités de texte enrichi, utilisez simplement des TLabels et écrivez le texte par programmation. Si vous devez avoir du texte enrichi, je vois quelques choix - écrire beaucoup de gestionnaires pairs pour votre componet, ou créer votre propre composant dérivé de TRichEdit, ce qui rend plus facile d'en avoir plusieurs sur un formulaire, ou de regarder à des sites comme Tori et voir si quelqu'un d'autre a déjà fait un tel composant.

Bonne chance.

1

Vous pouvez définir la propriété ReadOnly du RichEdit pour être vrai - ce qui empêche les frappes, etc.

0

Vous pouvez simplement désactiver le RichEdit pour empêcher la sélection de texte et de cacher le curseur texte:

RichEdit.Enabled := FALSE; 
Questions connexes