MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 2005
-
20 nov. 2004 à 15:56
arnaud_tournier
Messages postés34Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention25 mars 2007
-
21 nov. 2004 à 09:58
j arrive pas a utiliser la fonction couper d un memo lorsqu il est en readonly, faut il que je desactive le readonly, puis faire cutoclipboard et enfin que je reactive le readonly? ou y a til une autre methode?
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 20 nov. 2004 à 19:15
Il y a une ruse.
Déclarer une variable S et noter:
S:=RichEdit.Text;
Utiliser Copy ou Delete pour éliminer la partie de code non désirée. Pour la mettre dans le ClipBoard, déclarer uses ClipBrd; et écrire ClipBoard.AsText:=LeTexteCoupé; Il faut s'aider des propriétés SelStart, SelLength et SelText du RichEdit.
Et là, normalement, même en ReadOnly, il est possible de mettre RichEdit.Text:=s; Il faudra éventuellement retoucher la position du curseur avec SelStart.
Ainsi le ReadOnly n'a pas changé. Ceci dit, il n'est pas assuré que cela marche. Je sais, tu utilises un Memo, mais ça doit marcher pareil qu'avec un RichEdit.
arnaud_tournier
Messages postés34Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention25 mars 2007 21 nov. 2004 à 09:58
Hello,
Oui grandVizir a raison, il faut que tu fasses =>
Memo1.CopyToClipboard;
Memo1.SelText := '';
pour simuler un couper quand on est en readOnly....
trape le onkeypress =>
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCTrl in Shift) and (key in [88,120]) then // 88 X et 120 x
begin
Memo1.CopyToClipboard;
Memo1.SelText := '';
end;
end;
et voilou ton couper est fait comme si ton memo n etait ^pas en readonly mais c est un peu bizarre de vouloir modifier le contenu d un objet que l on veut en lecture seul enfin n'hésite pas si tu veux plus de détail....