Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2517 connectés 

 


Dernière réponse
Sujet : [Delphi] RichEdit, racourcit clavier et Menu !
[SDF]Poire

Bruce a écrit a écrit :

 
 
Bravo ! Excellent, ct tout con et j'y avais même pas pensé :)
 
 :jap:  :jap:  :jap:  




Bonne Année !!!  :benetton:  
 :hello:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
[SDF]Poire

Bruce a écrit a écrit :

 
 
Bravo ! Excellent, ct tout con et j'y avais même pas pensé :)
 
 :jap:  :jap:  :jap:  




Bonne Année !!!  :benetton:  
 :hello:

Bruce

[SDF]Poire a écrit a écrit :

if RichEdit1.SelLength = 0 then
    RichEdit1.SelLength := 1;
   
  RichEdit1.ClearSelection;  
 
 




 
Bravo ! Excellent, ct tout con et j'y avais même pas pensé :)
 
 :jap:  :jap:  :jap:

[SDF]Poire if RichEdit1.SelLength = 0 then
    RichEdit1.SelLength := 1;
   
  RichEdit1.ClearSelection;

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]

rufo rem : si tu as mis à true la propriété wrap, ça va être plus simple pluis que tu pourras remonter toute la ligne suivante et non pas le mot s'il tient sur la ligne précédente...
rufo

Bruce a écrit a écrit :

 
 
Non, là tu oublie le plus dur, effacer le texte sélectionné c super simple :

Code :
  1. RichEdit1.ClearSelection;


 
Mais là ou ça deviens plus complexe c quand tu n'as pas de texte sélectionné auquel cas le Suppr efface le caractère suivant la position du cursseur et si il est en fin de ligne supprime le retour chariot...  




 
ben, il suffit de récupérer la position du curseur (selstart pour avoir la position en nb de caractères, CaractPos.x et .y pour avoir la ligne et la colonne) et après, tu utilises en fct de la position du curseur un Copy(chaine, debut, long) adhéquat :)

Bruce

[SDF]Poire a écrit a écrit :

 
Essaye CustomRichEdit.SelText := '';  




 
Non, là tu oublie le plus dur, effacer le texte sélectionné c super simple :

Code :
  1. RichEdit1.ClearSelection;


 
Mais là ou ça deviens plus complexe c quand tu n'as pas de texte sélectionné auquel cas le Suppr efface le caractère suivant la position du cursseur et si il est en fin de ligne supprime le retour chariot...

[SDF]Poire

Bruce a écrit a écrit :

Bon, en effet ça marche mais voilà cela me pose un autre pb que vous ne pouviez pas deviner :)
 
Voilà, le but de cette app, c de faire un guide (tutorial) de Delphi, et je suis parti dans l'idée de faire un "clone" de WordPad en quelques cours. Bref pas simple d'expliquer aux newbies qu'il faut mettre un #9 pour que ça marche...
 
Donc autre question, existe-t-il un moyen de re-coder le Suppr sans se prendre la tête ? Un peu comme les autres fonctions qui sont super simples à faires !  




Essaye CustomRichEdit.SelText := '';

Bruce Bon, en effet ça marche mais voilà cela me pose un autre pb que vous ne pouviez pas deviner :)
 
Voilà, le but de cette app, c de faire un guide (tutorial) de Delphi, et je suis parti dans l'idée de faire un "clone" de WordPad en quelques cours. Bref pas simple d'expliquer aux newbies qu'il faut mettre un #9 pour que ça marche...
 
Donc autre question, existe-t-il un moyen de re-coder le Suppr sans se prendre la tête ? Un peu comme les autres fonctions qui sont super simples à faires !
Bruce Pas con, je vais essayer.
[SDF]Poire

antp a écrit a écrit :

j'ai trouvé ! :sol:
bon c'est vraiment de la bidouille, mais tu peux tj essayer :
déjà n'associe aucun shortcut à l'item (puisque non nécessaire)
sur ta form, tu fais alt+f12 ("view as text" ), là tu cherches la déclaration de ton item ou action (si tu utilises des actionlist, ce qui est nettement plus propre que de coder directement tout dans les tmenuitem).
ensuite tu as par ex:
 
     object aaa1: TMenuItem
        Caption = 'Copier CTRL+V'
 
(ici donc le ctrl+v est pas aligné, il est collé au label)
suffit de changer ça en :
 
     object aaa1: TMenuItem
        Caption = 'Copier'#9'CTRL+V'
 
et là le ctrl+v se retrouvera aligné avec les autres shortcuts  
 
 




Une tabulation :heink:  ? T sur que ça marche avec n'importe quelle longueur pour les titres des menus ?
 
edit : Effectivement ça marche... Mais C pas super pratique nivo conception....

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]

antp j'ai trouvé ! :sol:
bon c'est vraiment de la bidouille, mais tu peux tj essayer :
déjà n'associe aucun shortcut à l'item (puisque non nécessaire)
sur ta form, tu fais alt+f12 ("view as text" ), là tu cherches la déclaration de ton item ou action (si tu utilises des actionlist, ce qui est nettement plus propre que de coder directement tout dans les tmenuitem).
ensuite tu as par ex:
 
     object aaa1: TMenuItem
        Caption = 'Copier CTRL+V'
 
(ici donc le ctrl+v est pas aligné, il est collé au label)
suffit de changer ça en :
 
     object aaa1: TMenuItem
        Caption = 'Copier'#9'CTRL+V'
 
et là le ctrl+v se retrouvera aligné avec les autres shortcuts

 

[edtdd]--Message édité par antp--[/edtdd]

Bruce

[SDF]Poire a écrit a écrit :

 
Tout est possible :D Je te cherche ça...  




 
Marci ! :D

[SDF]Poire

Bruce a écrit a écrit :

 
 
Tout à fait ! C exactement ça... Il y as certainement un moyen d'afficher le raccourcit sans qu'il prenne la main... non ? :)  




Tout est possible :D Je te cherche ça...

Bruce

[SDF]Poire a écrit a écrit :

 
C ptet pas cool mais C 1 peu normal.... en fait tu veux jute qu'il y ait l'affichage du raccourci dans le menu mais qu'il ne fasse rien ?
(G un doute sur le fait que G bien tout compris...)  




 
Tout à fait ! C exactement ça... Il y as certainement un moyen d'afficher le raccourcit sans qu'il prenne la main... non ? :)

Bruce

antp a écrit a écrit :

et si lors de l'action de la touche de raccourci tu envoie le pressage de touche "suppr" via un message Windows au TMemo/TEdit, ça marche pas ? (note que si ça marche pas ça fera peut-être une boucle sans fin :D, mais tu peux tj essayer)  




 
Non, ça c sûr ça marchera pas ;)

[SDF]Poire

Bruce a écrit a écrit :

 
 
[SDF]Poire : vi c la le pb ! Si je ne met pas de raccourcit sur les menus tout fonctionne exactement comme je le voudrais (c intégré au composant quoi...), par contre quand j'associe le raccourcit, c celui-ci qui prend la main et c pas cool... :sweat:  




C ptet pas cool mais C 1 peu normal.... en fait tu veux jute qu'il y ait l'affichage du raccourci dans le menu mais qu'il ne fasse rien ?
(G un doute sur le fait que G bien tout compris...)

antp et si lors de l'action de la touche de raccourci tu envoie le pressage de touche "suppr" via un message Windows au TMemo/TEdit, ça marche pas ? (note que si ça marche pas ça fera peut-être une boucle sans fin :D, mais tu peux tj essayer)
Bruce rufo : le Suppr devrais avoir un fonctionnement classique, cad effacer le texte sélectionné si il y en as un ou supprimer le caractère suivant celui ou est le currseur si il n'y as pas de texte sélectioné.
Le pb est que j'ai facilement reprogrammé la pluspart des fonctions (copytoclipboard, pastefromclipboard...) mais le Suppr est pas simple... Surtout si le currseur est en fin de ligne et qu'il doit faire remonter la ligne suivante...
 
[SDF]Poire : vi c la le pb ! Si je ne met pas de raccourcit sur les menus tout fonctionne exactement comme je le voudrais (c intégré au composant quoi...), par contre quand j'associe le raccourcit, c celui-ci qui prend la main et c pas cool... :sweat:
[SDF]Poire Dans ton menu les raccourcis sont des raccourcis standards (Ctrl+C,....) ?
rufo Moi, pour mes soft, je me suis refais les fcts de couper/copier/coller qui marchent pour tous les composants qui contiennet du texte (memo, edit, richedit, combobox) etc...

 

[edtdd]--Message édité par rufo--[/edtdd]

rufo il fait quoi ton suppr?
Bruce Voilà, j'ai un petit problème et j'arrive pas à trouver de solution élégante...
 
J'ai un composant RichEdit que j'utilise comme une sorte de WordPad. J'ai également créé un menu "Edition" assez classique mais au moment ou j'ajoute des racourcit claviers cela ne vas plus du tout.
 
J'explique, comme vous le savez par défaut le composant gère tout seul les évènements Ctrl+X, Ctrl+C, Ctrl+V, Suppr et autres Ctrl+A (couper, copier, coller, effacer et sélectionner tout). Seulement voilà, quand dans mon menu j'associe un élément du menu avec un racourcit clavier, Delphi prend celui-ci en compte et donc cela ne marche plus.
J'ai réussit sans mal à re-faire la majorité des fonctions puisque Delphi et le composant RichEdit comportent les procédures adéquat (telles que SelectAll et CopyToClipboard), mais pour le Suppr c'est la merde ! Je suis certain qu'il y as un moyen de pouvoir assigner un racourcit clavier à un menu sans que celui-ci prennent le "pouvoir"...
 
Merci d'avance.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)