Couper et memo

Résolu
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 - 20 nov. 2004 à 15:56
arnaud_tournier Messages postés 34 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 25 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?

3 réponses

cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
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.

===========
Validez les réponses si ok...

ViewVite : HTML - ZIP
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
20 nov. 2004 à 16:46
En toute logique, c la seule methode ! puisque "readonly" veut dire "seulement lecteur" la modification n'est donc pas permise.

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
0
arnaud_tournier Messages postés 34 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 25 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....

Arnaud
0
Rejoignez-nous