Effacement et TRichEdit [Résolu]

sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 8 mai 2006 à 09:39 - Dernière réponse : sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention
- 8 mai 2006 à 14:38
Bonjour !

J'ai besoin d'aide pour simuler un effacement d'un caractère avant ou après le curseur dans un TRichEdit avec son ReadOnly à True car je veux contrôler tous les faits et gestes de l'utilisateur donc je réécrit l'effacement.

J'ai pensé à envoyer un message WM_CHAR à mon TRichEdit avec le caractère 8 (pour avant) mais rien ne se passe.

Merci de m'aider.

@+

SISI231
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 8 mai 2006 à 12:38
3
Merci
Bonjour sisi231,

Voici un moyen d'effacer un caractère avant ou après le curseur.
Il y a peut-être une solution plus "élégante", mais elle marche : sauf pour l'effacement d'une ligne vide (ajouter dans ce cas du code pour supprimer la line).

procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = VK_BACK) and (RichEdit1.SelStart > 0))
or (Key = VK_DELETE) then
begin
with RichEdit1 do
begin
if Key = VK_BACK then
Selstart := SelStart -1; // on part du caractère avant le curseur
SelLength := 1; // on sélectionne ce caractère
end;
if true // tes conditions pour permettre d'effacer
then
begin
RichEdit1.ReadOnly := false;
RichEdit1.SelText := ''; // effacement du caractère
RichEdit1.ReadOnly := true;
Key := 0; //pour supprimer le beep
end;
end;
end;

J'espère avoir pu t'aider.
Thierry

Merci ThWilliam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de ThWilliam
Meilleure réponse
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 8 mai 2006 à 13:06
3
Merci
Correction :
pas besoin de mettre ReadOnly := false.

Merci ThWilliam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de ThWilliam
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 8 mai 2006 à 14:38
0
Merci
Merci ça marche !
SISI231
Commenter la réponse de sisi231

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.