| Demande d'aide sur l'objet RichEdit. | |
|
|
Auteur | Message |
---|
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 15:39 | |
| Bonjour.
@Klaus.
J'utilise régulièrement une application de dictionnaire français-anglais. Cette application permet de copier dans le presse-papiers tout contenu sélectionné (un mot et ses traductions). Le résultat donné est au format RTF, que je peux retrouver et sauvegarder en effectuant un coller dans Wordpad.
Par contre, par un copier dans Panoramic, le formatage du résultat (couleurs, police), est bien entendu perdu.
Je me demandais donc s'il était possible de récupérer le contenu du presse-papiers dans un objet RichEdit, en conservant le formatage.
Merci de ta réponse. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 17:29 | |
| Oui, à priori, l'objet RichEdit est fait pour ça.
Maintenant, cela dépend des options présentes dans le texte. Toutes les capacités du format RTF ne sont pas disponibles avec l'objet FichEdit, comme par exemple des images incluses, etc. Néanmoins, polices, styles (gras, italique, ...), couleurs et tailles des caractères ne devraient poser aucun problème. | |
|
| |
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 17:56 | |
| Bonjour.
Le texte formaté ne contient aucune image incluse. Dans ce cas, comment dois-je procéder ?
Merci de ton aide. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 18:04 | |
| | |
|
| |
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 18:32 | |
| Bonjour.
Je viens juste de tester l'objet RichEdit.
Il ne permet pas de récupérer les codes de formatage (couleurs, polices).
Merci de ton aide. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 18:42 | |
| As-tu essayé le code exemple pou la fonction GetSelectedRichEditAttributes ? - Code:
-
dim RE%, res%, f$, txt$ RE% = dll_call1("RichEditCreate",handle(0)) f$ = "MonDocument.rtf" ' sélectionner 5 caractères à partir du caractère 23 res% = dll_call3("SelectRichEditText",RE%,23,5) txt$ = string$(255," ") ' retourner les attributs du texte sélectionné res% = dll_call2("GetSelectedRichEditAttributes",RE%,3,adr(txt$)) message "Les attributs sont: "+trim$(txt$) Crée un fichier MonDocument.rtf, mets-y un peu de texte, mets des attributs sur 5 caractères à partir du 23ème et exécute ce code. Tu devrais récupérer les attributs. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Dim 13 Nov 2016 - 19:04 | |
| Essaie ce code: - Code:
-
label tester dim RE%, res%, f$, txt$ dll_on "KGF.dll" RE% = dll_call1("RichEditCreate",handle(0)) res% = dll_call5("RichEditGeometry",RE%,10,40,300,200) button 2 : top 2,10 : left 2,10 : caption 2,"Tester" : on_click 2,tester end
tester: ' sélectionner 5 caractères à partir du caractère 23 res% = dll_call3("SelectRichEditText",RE%,23,5) txt$ = string$(255," ") ' retourner les attributs du texte sélectionné res% = dll_call3("GetSelectedRichEditAttributes",RE%,3,adr(txt$)) message "Les attributs sont: "+trim$(txt$) return
Crée un fichier RTF, et place le texte suivant dans ce fichier: - Code:
-
abcdeFGHIJklmnoPQRSTuv[color=#0000ff][i][b]wxyZ0123[/b][/i][/color]456789 Mets-y "gras" et "italique" ainsi que la couleur "bleue" de "w" à "3". Copie ce texte dans le presse-papier. Lance le programme ci-dessus, clique dans le RichEdit et fais ctrl/V ==> tu as ton texte avec les attributs. Clique sur le bouton "Tester" et tu obtiens ceci: C'est bien ce que tu veux, non ? | |
|
| |
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Demande d'aide sur l'objet RichEdit. Lun 14 Nov 2016 - 7:43 | |
| Bonjour.
Merci Klaus, ta méthode fonctionne bien à 99%.
Mais je me vois mal effectuer des milliers de CTRL V afin de récupérer les traductions de milliers de mots.
Comme je le disais plus haut, il manque bien une fonction de récupération du presse-papiers dans un objet RichEdit, sachant que le premier ne contient que du texte.
Merci de la suite. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Lun 14 Nov 2016 - 10:10 | |
| Ok - je vois. Je vais faire cela. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Lun 14 Nov 2016 - 12:49 | |
| C'est fait. J'ai corrigé le code 12 de RicheditFunction. Et essaie cette démo: - Code:
-
label tester, copier dim RE%, res%, f$, txt$ dll_on "KGF.dll" RE% = dll_call1("RichEditCreate",handle(0)) res% = dll_call5("RichEditGeometry",RE%,10,40,300,200) button 2 : top 2,10 : left 2,10 : caption 2,"Tester" : on_click 2,tester button 3 : top 3,10 : left 3,110 : caption 3,"Copier" : on_click 3,copier end
tester: ' sélectionner 5 caractères à partir du caractère 23 res% = dll_call3("SelectRichEditText",RE%,23,5) txt$ = string$(255," ") ' retourner les attributs du texte sélectionné res% = dll_call3("GetSelectedRichEditAttributes",RE%,3,adr(txt$)) message "Les attributs sont: "+trim$(txt$) return
copier: res% = dll_call3("RichEditFunction",RE%,12,1) return
Copie une portion de texte avec format RTF dans le presse-papier, lance ce programme et clique sur "Copier". Voilà. | |
|
| |
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Demande d'aide sur l'objet RichEdit. Mar 15 Nov 2016 - 13:03 | |
| Bonjour à tous.
Un grand merci Klaus. Tout fonctionne parfaitement maintenant.
Il manque la fonction suivante à l'objet RichEdit:
. Effacement du texte complet contenu dans l'objet.
Merci. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'aide sur l'objet RichEdit. Mar 15 Nov 2016 - 13:16 | |
| Tu fais simplement: - Code:
-
dim s$ s$ = "" res% = dll_call2("RichEditStringLoad",RE%,adr(s$)) Cette fonction remplace le contenu de ton RichEdit par le contenu de la chaînede caractères. Et lorsqu'elle est vide... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Demande d'aide sur l'objet RichEdit. | |
| |
|
| |
| Demande d'aide sur l'objet RichEdit. | |
|