IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Copier une page CppWebBrowser danse le press papier [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut Copier une page CppWebBrowser danse le press papier
    Bonjour a tous ,

    Je n'arrive pas copier une page CppWebBrowser dans le presse papier pour par la suite pouvoir la coller. (Par exemple la coller dans Outlook Express.)

    J'ai essayé cette méthode après une recherche dans la FAQ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     // Sélectionner tout
    CppWebBrowser1->ExecWB(OLECMDID_SELECTALL , OLECMDEXECOPT_DODEFAULT);
     
    // Copier la sélection dans le presse-papier
    CppWebBrowser1->ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT);
     
    // Désélectionner tout
    CppWebBrowser1->ExecWB(OLECMDID_CLEARSELECTION, OLECMDEXECOPT_DODEFAULT);
    Mais je n'arrive pas à compiler ni à comprendre les erreur détecté.
    Le compilateur détecte des ambiguité entre OLECMDID_SELECTALL et shdocvw_tlb::OLECMDID_SELECTALL.
    Je m'y prend peut être mal...

    Si on peut m'aider a faire fonctionner cette méthode ou encore m'indiquer une autre voie sa serai sympa...

    Merci

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,
    Bizarre, j'ai testé ces lignes et je n'ai pas d'erreur a la compilation. Montre peut être ce que tu as comme #include dans le .h et le .cpp, a tout hasard...
    Sinon as tu essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL , Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_COPY, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_CLEARSELECTION, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    En espérant t'aider ...
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Merci pour le code, j'arrive maintenant a le compiler, mais je n'arrive toujours pas a copier :'-(

    Je vous met plus bas les fonctions utilisées dans le programme ainsi que les includes du .cpp et du .h

    Merci d'avance pour votre aide

    Fonction d'affichage de la page dans le CppWebBrowser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall TForm1::ButtonCreerClick(TObject *Sender)
    {
    //AFFICHAGE DE LA PAGE DS LE CPPWEBBROWSER.
    AnsiString HTML ;
    HTML = "<a href="http://www.google.fr/" target="_blank">http://www.google.fr/</a>" ;
    WideString PageACharger = HTML ;
    CppWebBrowser1->Navigate(PageACharger);
    CppWebBrowser1->SetFocus();
    }
    Fonction de copie de la page dans le clipboard ... La ou est le probleme ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::ButtonCopierClick(TObject *Sender)
    {
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL , Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_COPY, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_CLEARSELECTION, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    }
    Les Include du .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h >
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "SHDocVw_OCX"
    #pragma resource "*.dfm"
    Les include du .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #ifndef Unit1H
    #define Unit1H
     
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "SHDocVw_OCX.h"
    #include <OleCtrls.hpp>

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Bonjour!!

    Voila un petit moment que je me casse la tete sur cette copie du cppwebbrowser!!!

    Ce que je ne comprends vraiment pas c'est que meme un banale copier (a la souris)ne fonctionne pas dans le cppwebbrowser!!!!

    Je cherche en vain mon sauveur mais bon je continu à chercher tout seul!!

    Les lignes de sélection et de déselection fonctionne très bien mais pas copier. Et j'ai remarqué que je n'étais pas le seul a avoir eu se probleme mais sa n'a jamais été résolu!!

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    En fouillant dans les ancienne FAQ je me suis rendu compte qu'il existait la meme question traité:

    http://www.developpez.net/forums/sho...+cppwebbrowser

    Comme la vu Greybird, quelques personne ont le meme probleme avec OLECMDID_COPY et WINXP SP2.

    Je develloppe sous WinXP SP2, voila d'ou viens mes soucis...

    C'est vrai que la solution de Greybird fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div style="text-align: left;">#include <Clipbrd.hpp>
    ...
    Clipboard()->AsText = aContenuText;</div>
    Mais tout comme yac361, j'ai besoin de récupérer des images. Je vais essayer de voir pour fair fonctionner ce que Greybird a proposer qui est:
    Sinon, tu as une question dans la FAQ sur le listage des images d'une page web. Ensuite, tu peux les télécharger...
    Mais est que quelqu'un serait coment faire fonctionner OLECMDID_COPY sous Win XP SP2 ?

    Merci.

  6. #6
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par Shikamaru86
    Mais est que quelqu'un serait coment faire fonctionner OLECMDID_COPY sous Win XP SP2 ?
    Je ne veux pas te décourager, mais même sur les forums de MS, il sont secs sur le sujet...

    Bon courage !

    Arnaud

  7. #7
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut
    Salut !

    Pourquoi ne pas simuler un Ctrl+A et Ctrl+C




    ++
    Plus tu prends part aux joies et chagrins des gens, plus ils te sont proches et chers. Mais c'est le chagrin et les problèmes qui vous rapprochent le plus.

    (Mark TWAIN)

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Je ne veux pas te décourager, mais même sur les forums de MS, il sont secs sur le sujet...
    ça me décourage pas, je trouverai un autre moyen d'y parvenir!!!
    Mais merci pour toute les infos que t'as apporter, c'est sympa!!

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Pourquoi ne pas simuler un Ctrl+A et Ctrl+C
    Qu'est que t'entend par là?

    Ctrl+A: CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);

    Ctrl+C: CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_COPY, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);

    Tu vois une autre façon?
    Si oui merci de m'en faire part!!

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Pourquoi ne pas simuler un Ctrl+A et Ctrl+C
    Ctrl+A et Ctrl+C directement sur la page cppwebbrowser ne fonctionne pas donc je pense que meme une autre simulation de ses commandes ne fonctionnerai pas!!

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Bonjour a tous!!
    J'ai réussi a avoir se que je voulait mais pour ce fait j'ai dut utiliser un notre composant que le tcppwebbrowser, j'utilise le MozillaBrowser.

    Vous pourait télécharger se composant sur ce site.
    http://www.iol.ie/~locka/mozilla/control.htm

    J'ai télécharger la version 1.7.12 mais il y a le meme probleme qu'avec le Tcppwebbrowser.

    Je vous conseil la version 1.7.7 qui marche très bien.

    1. Pourquoi avoir utiliser le MozillaBrowser?
    Après utilisation du CppWebBrowser (par défaut sur c++ builder), il s'avère que la fonction copier de ce composant ne fonctionner pas, il l'a donc fallu utiliser un autre composant. D'ou le choix du MozillaBrowser.

    2.Comment installer le MozilllaBrowser?
    a) => "MozillaControl177.exe".
    b) C++ Builder => Composant => Importer un controle activex => MozillaControl.

    3. Précaution d'emploi
    Attention, meme si les 2 composants se ressemble beaucoup quelques différences sont a prendre en considération est ne sont pas négligeable.

    a) L'écriture de la fonction copier

    Cppwebbrowser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	// Sélectionner tout 
    	CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL , Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    	// Copier la sélection dans le presse-papier
    	CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_COPY, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    	// Désélectionner tout
    	CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_CLEARSELECTION, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    MozillaBrowser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	// Sélectionner tout
    	MozillaBrowser1->ExecWB(Mozillacontrollib_tlb::OLECMDID_SELECTALL , 	Mozillacontrollib_tlb::OLECMDEXECOPT_DODEFAULT);
    	// Copier la sélection dans le presse-papier
    	MozillaBrowser1->ExecWB(Mozillacontrollib_tlb::OLECMDID_COPY, Mozillacontrollib_tlb::OLECMDEXECOPT_DODEFAULT);
    	// Désélectionner tout
    	MozillaBrowser1->ExecWB(Mozillacontrollib_tlb::OLECMDID_CLEARSELECTION, 	Mozillacontrollib_tlb::OLECMDEXECOPT_DODEFAULT);
    b) L'écriture de l'URL des images que l'on veut copier

    Cppwebbrowser:
    <img src="C:\\toto\\tata\\image.jpg">

    MozillaBrowser:
    <img src="\\toto\\tata\\image.jpg">
    --------------------------------

    J'espere avoir été assez clair sinon n'hésitez pas j'essaierait de vous répondre...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier une image SANS utiliser le presse-papier
    Par MisterLo dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 18/11/2011, 16h36
  2. copier/coller des graphiques dans le presse-papier
    Par legos dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/01/2007, 13h04
  3. [TP] Copier une variable string dans le presse-papier
    Par astyan dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 04/08/2006, 22h47
  4. Réponses: 1
    Dernier message: 21/01/2006, 14h45
  5. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo