cs_iocha
Messages postés22Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention11 septembre 2007
-
10 juil. 2003 à 22:43
cs_iocha
Messages postés22Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention11 septembre 2007
-
16 juil. 2003 à 10:04
Bonjour à tous,
Une petite question :
Comment récupérer un texte enrichi (Saisi dans WORDPAD en RTF) dans un Richedit, en passant par le presse papier (ce qui viendrait à faire un Ctrl+C puis Ctrl+V)
cs_RMD
Messages postés84Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention21 mai 2004 15 juil. 2003 à 14:06
J'ai une source d'un logiciel espion qui intercepte les envois vers le ClipBoard pour les mettre dans un Memo (utile lors de surf et de découverte d'astuces interressantes), essaye si cela te convient en changeant le Memo par un RichEdit :
var
Form1: TForm1;
NextInChain : THandle;
implementation
uses ClipBrd;
{$R *.DFM}
Var
x: integer;
Stop: Boolean;
procedure TForm1.WMChangeCBChain(var Msg: TMessage);
var
Remove, Next: THandle;
begin
Remove := Msg.WParam;
Next := Msg.LParam;
with Msg do
if NextInChain = Remove then
NextInChain := Next
else if NextInChain <> 0 then
SendMessage(NextInChain, WM_ChangeCBChain,
Remove, Next)
end;
procedure TForm1.WMDrawClipboard(var Msg:TMessage);
begin
if Clipboard.HasFormat(cf_text) and Stop then
begin
Memo1.Lines.Add('--- Copie '+IntToStr(x)+' ---');
Memo1.PasteFromClipboard;
Memo1.Lines.Add('');
inc(x);
End;
if NextInChain <> 0 then
SendMessage(NextInChain, WM_DrawClipboard, 0, 0)
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ChangeClipboardChain(Handle, NextInChain);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=vk_escape then
Close;
end;
procedure TForm1.BtnStopClick(Sender: TObject);
begin
if BtnStop.Caption='Stop' then
Begin
BtnStop.Caption:='Encore';
Stop:=False;
End else
Begin
BtnStop.Caption:='Stop';
Stop:=True;
End;
end;
procedure TForm1.EnregistrerClick(Sender: TObject);
begin
if SaveDialog1.Execute then
Begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
End;
end;
end.
Voilà, il te faut :
un Memo1: TMemo;
un Panel1: TPanel;
un BtnStop: TSpeedButton;
un Enregistrer: TSpeedButton;
un SpeedButton2: TSpeedButton;
et un SaveDialog1: TSaveDialog;
sur ta fiche.
cs_RMD
Messages postés84Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention21 mai 2004 16 juil. 2003 à 10:00
Il faudrait jongler avec la propriété HasFormat ou Assign du ClipBoard (utilisée pour copier une image dans un RichEdit par exemple), mais là, je n'ai rien de fait.
Désolé...