Forcer la mise à jour du correcteur orthographique TRichEdit
Par Delphi Source - March 24, 2026 · Vues: 16 · Catégories: Snippets · Tags: #Texte #TRichEdit

Forcer la mise à jour du correcteur orthographique TRichEdit

Lorsque l’on active la vérification orthographique dans un TRichEdit via l’API Windows, il arrive que le contrôle n’analyse pas immédiatement le texte déjà présent.

Le correcteur ne se déclenche alors que sur les nouvelles frappes.


Pour contourner ce comportement, on peut utiliser une astuce simple : forcer le RichEdit à recharger son contenu, ce qui déclenche automatiquement une nouvelle analyse orthographique.

procedure UpdateSpellChecking(RichEdit: TRichEdit);
var
  Stream: TMemoryStream;
begin
  if not Assigned(RichEdit) then Exit;

  Stream := TMemoryStream.Create;
  try
    with RichEdit do
    begin
      Lines.BeginUpdate;
      try
        SelectAll; // Sélectionne tout le texte
        Lines.SaveToStream(Stream); // Sauvegarde dans un flux mémoire
        SendMessage(Handle, WM_KEYDOWN, VK_DELETE, 0); // Simule une suppression
        Stream.Position := 0;
        Lines.LoadFromStream(Stream); // Recharge le texte
      finally
        Lines.EndUpdate;
      end;
    end;
  finally
    Stream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  UpdateSpellChecking(RichEdit1);
end;


Un petit clic (J'aime) qui fait plaisir !