Coller du texte dans un RichEdit, sans tenir compte de sa mise en forme ?
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 2007
-
16 avril 2003 à 14:34
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008
-
19 avril 2003 à 03:20
Voilà mon problème... J'ai finalement décidé de dériver TCustomRichEdit pour mon éditeur de code (en utilisant l'astuce de DelphiProg pour "limiter" le texte à 2Go), mais je me suis heurté à un autre problème que je ne sais pas comment résoudre :|
J'ai remarqué que si on colle du texte (par CTRL-V) dans un RichEdit, ce texte conserve sa mise en forme... Ce qui ne m'arrange pas vu que je souhaite avoir la même police partout !
Qu'à celà ne tienne, me dis-je... Je surcharge donc la WndProc du RichEdit, ce qui donne un truc du genre :
procedure TCodeEditor.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_PASTE
then begin
if ClipBoard.HasFormat(CF_TEXT)
then SelText := ClipBoard.AsText;
exit;
end;
inherited;
end;
Et tout fonctionne parfaitement ! Sauf... Sauf si j'ai le malheur d'utiliser MAJ-INSER pour coller mon texte ! Apparement cette combinaison de touches insère le texte sans générer de message WM_PASTE, j'ai bien tenté de loguer les messages traités par la WndProc mais c'est assez indigeste...
Donc si quelqu'un connait le message généré par MAJ-INSER, ou une autre manière de coller du texte dans un RichEdit sans tenir compte de sa mise en forme précédente... Merci d'éclairer ma lanterne ;)
Gab's :o)
A voir également:
Coller du texte dans un RichEdit, sans tenir compte de sa mise en forme ?