![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| Bonjour a tous! D'abord Merci a Frederic Steczycki pour sa contribution qui correspond exactement a ce que je recherche http://www.atoutfox.org/articles.asp...&ID=0000000027 Mais, le contenu de la zone d'édition disparait si cet éditeur est dans un PageFrame, le texte édité disparait quand on revient sur la page concernée. et j'ai beau forcer le innerHTML de cet objet, rien n'y fait. il manque un .Value a cet objet, car en plus je sauve le texte html dans un mémo. Quelqu'un s'est-il déjà battu avec ce controle? Merci de vos réponses. |
| | ||||
| ||||
| |
| |||
| Bonjour, je n'ai pas répondu car je n'ai pas la réponse <s> la gestion des activeX en pageframe est un problème VFP (mais pas seulement) connu. Fred "nospam" <"qie(nospam)"***free.fr> a écrit dans le message de news: eN0dydvBJHA.3200***TK2MSFTNGP03.phx.gbl... > Bonjour, > Comme toi, j'ai fais une remarque similaire (en 2006 !) : dans un > "pageframe", pour ce qui me concerne en tout cas, cela ne fonctionne QUE > sur la première page et pas sur les autres. Mais je n'ai pas eu de réponse > de Frederic et j'ai donc réorganisé mon programme pour avoir l'éditeur > dans la page 1. > As tu essayé sur la page 1 du pageframe ? > Je profite de l'occasion pour demander s'il est possible, sans utiliser > les fonctions de "couper / coller", d'insérer directement une autre page > HTML dedans ? > En fait il me faudrait la syntaxe pour enregistrer la première page (qu'il > faudra insérer automatiquement) soit sur disque, soit dans le > presse-papier, > puis la syntaxe pour ajouter cette page enregistrée dans le texte actuel > de l'éditeur. Actuellement, j'enregistre correctement la page, mais au > moment de l'insérer, il m'insère cette page avec la syntaxe HTML, ce qui > n'est pas recherché. > Merci d'avance. > JPG > > > Franck a écrit : >> Bonjour a tous! >> D'abord Merci a Frederic Steczycki pour sa contribution qui correspond >> exactement a ce que je recherche >> http://www.atoutfox.org/articles.asp...&ID=0000000027 >> >> Mais, le contenu de la zone d'édition disparait si cet éditeur est dans >> un >> PageFrame, >> le texte édité disparait quand on revient sur la page concernée. >> et j'ai beau forcer le innerHTML de cet objet, rien n'y fait. >> >> il manque un .Value a cet objet, car en plus je sauve le texte html dans >> un >> mémo. >> >> Quelqu'un s'est-il déjà battu avec ce controle? >> Merci de vos réponses. >> >> >> |
| |||
| Bonjour, Oui, j'avait vu ta remarque de l'époque. En fait, ce controle n'accepte pas les Refresh() : son contenu disparait ! J'ai un écran ou il est dans la 1ere page d'un pframe, tout va bien tant qu'on ne quitte pas la page1. J'ai sollutionné en éliminant les Refresh() touchant à la page1, et.... ca marche! Je planche sur un autre scx ou cet objet est sur le 2eme onglet.... Ta question j'ajoute du texte html au texte déjà affiché par le controle (ici This.parent.OLEHTML) vmemo= "<b>texte a ajouter en html</b>" && texte a ajouter vmemo=This.parent.OLEHTML.Document.Body.innerHTML ; && texte html déjà contenu dans le controle +"<br>"+vmemo && auquel j'ajoute le texte prévu This.parent.OLEHTML.Document.Body.innerHTML=vmemo && je réaffecte le nouveau texte dans l'objet *This.parent.OLEHTML.Refresh() && NON! Par contre je ne sais pas comment insèrer le texte html à la position courrante dans le texte, car il faut repérer ou se trouve le curseur dans le controle. (ou alors reperer un caractère dédié à l'insertion) Si je trouve quelque chose, je revient. Franck "nospam" <"qie(nospam)"***free.fr> a écrit dans le message de news:eN0dydvBJHA.3200***TK2MSFTNGP03.phx.gbl... > Bonjour, > Comme toi, j'ai fais une remarque similaire (en 2006 !) : dans un > "pageframe", pour ce qui me concerne en tout cas, cela ne fonctionne QUE > sur la première page et pas sur les autres. Mais je n'ai pas eu de > réponse de Frederic et j'ai donc réorganisé mon programme pour avoir > l'éditeur dans la page 1. > As tu essayé sur la page 1 du pageframe ? > Je profite de l'occasion pour demander s'il est possible, sans utiliser > les fonctions de "couper / coller", d'insérer directement une autre page > HTML dedans ? > En fait il me faudrait la syntaxe pour enregistrer la première page > (qu'il faudra insérer automatiquement) soit sur disque, soit dans le > presse-papier, > puis la syntaxe pour ajouter cette page enregistrée dans le texte actuel > de l'éditeur. Actuellement, j'enregistre correctement la page, mais au > moment de l'insérer, il m'insère cette page avec la syntaxe HTML, ce qui > n'est pas recherché. > Merci d'avance. > JPG > > > Franck a écrit : > > Bonjour a tous! > > D'abord Merci a Frederic Steczycki pour sa contribution qui correspond > > exactement a ce que je recherche > > http://www.atoutfox.org/articles.asp...&ID=0000000027 > > > > Mais, le contenu de la zone d'édition disparait si cet éditeur est dans un > > PageFrame, > > le texte édité disparait quand on revient sur la page concernée. > > et j'ai beau forcer le innerHTML de cet objet, rien n'y fait. > > > > il manque un .Value a cet objet, car en plus je sauve le texte html dans un > > mémo. > > > > Quelqu'un s'est-il déjà battu avec ce controle? > > Merci de vos réponses. > > > > > > |
| |||
| Bonjour, Page2, rien a faire. J'ai réaffecté le inner HTML au GOTFOCUS(), ca marche quand on clique dedans. c'est déjà ca. En fin de Refresh() de la page, je met le setfocus() sur un bouton et {TAB} dans le keyboard pour que le focus passe sur l'objet HTML. (qui suit le bouton dans l'ordre de tabulation) Je vois le contenu flasher et disparaitre quand même. grrrr... "nospam" <"qie(nospam)"***free.fr> a écrit dans le message de news:uICxcS%23BJHA.3484***TK2MSFTNGP04.phx.gbl... > Bonjour, > Merci Franck pour ton code. Je m'étais mélangé les inner et outer ... > Bon courage pour la page 2. J'ai abandonné et si tu trouves le problème, > je suis preneur. > .. et bien sur, encore merci à FRED ! > JpG > > Franck a écrit : > > Bonjour, > > Oui, j'avait vu ta remarque de l'époque. > > En fait, ce controle n'accepte pas les Refresh() : son contenu disparait ! > > > > J'ai un écran ou il est dans la 1ere page d'un pframe, > > tout va bien tant qu'on ne quitte pas la page1. > > J'ai sollutionné en éliminant les Refresh() touchant à la page1, > > et.... ca marche! > > > > Je planche sur un autre scx ou cet objet est sur le 2eme onglet.... > > > > > > Ta question > > j'ajoute du texte html au texte déjà affiché par le controle (ici > > This.parent.OLEHTML) > > > > vmemo= "<b>texte a ajouter en html</b>" && texte a ajouter > > vmemo=This.parent.OLEHTML.Document.Body.innerHTML ; && texte html déjà > > contenu dans le controle > > +"<br>"+vmemo > > && auquel j'ajoute le texte prévu > > This.parent.OLEHTML.Document.Body.innerHTML=vmemo && je réaffecte le > > nouveau texte dans l'objet > > *This.parent.OLEHTML.Refresh() && NON! > > > > Par contre je ne sais pas comment insèrer le texte html à la position > > courrante > > dans le texte, car il faut repérer ou se trouve le curseur dans le controle. > > (ou alors reperer un caractère dédié à l'insertion) > > Si je trouve quelque chose, je revient. > > > > Franck > > > > > > > > > > "nospam" <"qie(nospam)"***free.fr> a écrit dans le message de > > news:eN0dydvBJHA.3200***TK2MSFTNGP03.phx.gbl... > > > >> Bonjour, > >> Comme toi, j'ai fais une remarque similaire (en 2006 !) : dans un > >> "pageframe", pour ce qui me concerne en tout cas, cela ne fonctionne QUE > >> sur la première page et pas sur les autres. Mais je n'ai pas eu de > >> réponse de Frederic et j'ai donc réorganisé mon programme pour avoir > >> l'éditeur dans la page 1. > >> As tu essayé sur la page 1 du pageframe ? > >> Je profite de l'occasion pour demander s'il est possible, sans utiliser > >> les fonctions de "couper / coller", d'insérer directement une autre page > >> HTML dedans ? > >> En fait il me faudrait la syntaxe pour enregistrer la première page > >> (qu'il faudra insérer automatiquement) soit sur disque, soit dans le > >> presse-papier, > >> puis la syntaxe pour ajouter cette page enregistrée dans le texte actuel > >> de l'éditeur. Actuellement, j'enregistre correctement la page, mais au > >> moment de l'insérer, il m'insère cette page avec la syntaxe HTML, ce qui > >> n'est pas recherché. > >> Merci d'avance. > >> JPG > >> > >> > >> Franck a écrit : > >> > >>> Bonjour a tous! > >>> D'abord Merci a Frederic Steczycki pour sa contribution qui correspond > >>> exactement a ce que je recherche > >>> http://www.atoutfox.org/articles.asp...&ID=0000000027 > >>> > >>> Mais, le contenu de la zone d'édition disparait si cet éditeur est dans > >>> > > un > > > >>> PageFrame, > >>> le texte édité disparait quand on revient sur la page concernée. > >>> et j'ai beau forcer le innerHTML de cet objet, rien n'y fait. > >>> > >>> il manque un .Value a cet objet, car en plus je sauve le texte html dans > >>> > > un > > > >>> mémo. > >>> > >>> Quelqu'un s'est-il déjà battu avec ce controle? > >>> Merci de vos réponses. > >>> > >>> > >>> > >>> > > > > > > > > |
| |||
| Bonjour Pour la Value, il faut créer ta propre classe dérivée de la classe OLE initiale, y ajouter une propriété Value, avec Property_Access et Property_Assign Dans Value_Assign, tu mets This.Document.Body.innerHTML = m.vNewVal Dans Value_Access, tu mets Return This.Document.Body.innerHTML A + Luc "Franck" <fz.dutilleul***srdz.fr> a écrit dans le message de news: uNwjbmrBJHA.5196***TK2MSFTNGP04.phx.gbl... > Bonjour a tous! > D'abord Merci a Frederic Steczycki pour sa contribution qui correspond > exactement a ce que je recherche > http://www.atoutfox.org/articles.asp...&ID=0000000027 > > Mais, le contenu de la zone d'édition disparait si cet éditeur est dans un > PageFrame, > le texte édité disparait quand on revient sur la page concernée. > et j'ai beau forcer le innerHTML de cet objet, rien n'y fait. > > il manque un .Value a cet objet, car en plus je sauve le texte html dans > un > mémo. > > Quelqu'un s'est-il déjà battu avec ce controle? > Merci de vos réponses. > > |
| |||
| Merci, je regarde ca! "Luc Gilot" <luc.Gilot***limoog.net> a écrit dans le message de news:uOcwH$SCJHA.1632***TK2MSFTNGP06.phx.gbl... > Bonjour > > Pour la Value, il faut créer ta propre classe dérivée de la classe OLE > initiale, y ajouter une propriété Value, avec Property_Access et > Property_Assign > Dans Value_Assign, tu mets This.Document.Body.innerHTML = m.vNewVal > Dans Value_Access, tu mets Return This.Document.Body.innerHTML > > A + > > Luc |
| |||
| Bonjour Ã*** tous, J'ai vraiment besoin d'aide : Lorsque j'ouvre le formulaire htmledit2.scx pour la 1ère fois, aucun problème. Si je le ferme et que je l'ouvre Ã*** nouveau, j'ai l'erreur suivante : 'Le membre BODY n'a pas été évalué en tant qu'objet.' Cette erreur intervient dans le programme 'chtmleditor1.oIE.refresh'. Je ne peux donc pas ouvrir l'écran contenant l'éditeur plus d'une fois, ce qui est extrêmement gênant. Y'a-t-il un problème lors de la fermeture du form ? Je n'en sais rien et lÃ*** j'avoue que je suis perdu. Quelqu'un a une idée ? |
| |||
| Bonjour, Dans l'init du form ou du container contenant l'objet, tu met une variable pour détecter le 1er refresh() ..... .lFirstRefresh=.T. Puis tu teste et modifie la variable dans le refresh() de l'objet "editeur html" shellexplorer2 IF .... .lFirstRefresh NODEFAULT .... .lFirstRefresh = .F. This.Document.Body.contentEditable = .T. ENDIF Sinon, et je crois que tu dois commencer par ca: Dans l'init de l'objet shellexplorer2 * Navigatge to a blank page This.Navigate2("about:Blank") * Prevent an OLE error, and wait until the object * gets the blank page open before showing or accessing Wait "Initialisations OLE" Window TimeOut 1 vi=0 Do While Not Type("This.Document.Body") $ "O" vi=vi+1 Wait Window Str(vi) NoWait EndDo *DO WHILE This.Busy * DOEVENTS *ENDDO Je m'en suis sorti comme ca, mais cet objet est pas 'top' a utiliser/mettre en oeuvre... Franck "Samos" <Samos***discussions.microsoft.com> a écrit dans le message de news:99124485-7C58-4E1A-9F2A-61DE6D5613C3***microsoft.com... > Bonjour à tous, > > J'ai vraiment besoin d'aide : Lorsque j'ouvre le formulaire htmledit2.scx > pour la 1ère fois, aucun problème. Si je le ferme et que je l'ouvre à > nouveau, j'ai l'erreur suivante : 'Le membre BODY n'a pas été évalué en tant > qu'objet.' Cette erreur intervient dans le programme > 'chtmleditor1.oIE.refresh'. > Je ne peux donc pas ouvrir l'écran contenant l'éditeur plus d'une fois, ce > qui est extrêmement gênant. > Y'a-t-il un problème lors de la fermeture du form ? Je n'en sais rien et là > j'avoue que je suis perdu. > Quelqu'un a une idée ? |
| |
| |
![]() |
| Tags: editeur, html, shellexplorer2 |
| Outils de la discussion | |
| Modes d'affichage | |
| |