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

MFC Discussion :

[débutant] tuto OCX et c++?


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 8
    Par défaut [débutant] tuto OCX et c++?
    bonjour,
    je trouve plein d'infos sur les forums pour créer des activeX, mais je cherche en vain un tutoriel qui explique la façon d'utiliser un ocx tierce dans un projet MFC .
    si quelqu'un à des infos je suis preneur...
    merci

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 8
    Par défaut
    pour être plus précis: j'ai un fichier ocx, je l'ai importé dans mes contrôles, j'ai mis ce controle sur une boite de dialogue et créé une variable.
    Visual a créé 2 fichiers (le wrapper de class d'après les commentaires).
    Ces 2 fichiers ne contiennent aucune propriétés et méthodes alors que si je teste ce même ocx avec l'outil "activeX test container" je vois plein de méthodes.
    J'ai raté une étape?

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    non tu n'as rien raté c'est bizarre...
    ils contiennent quoi ces fichiers ?

    tu travailles avec quelle version de visual ? 6.0 ,.net ,2005 ?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 8
    Par défaut
    Je bosse avec MS2003

    Le CPP contient:
    ------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include "pciprxctrl2.h"
     
    /////////////////////////////////////////////////////////////////////////////
    // CPciprxctrl2
     
    IMPLEMENT_DYNCREATE(CPciprxctrl2, CWnd)
     
    /////////////////////////////////////////////////////////////////////////////
    // CPciprxctrl2 properties
     
    /////////////////////////////////////////////////////////////////////////////
    // CPciprxctrl2 operations
    et le .h contient:
    ------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    class CPciprxctrl2 : public CWnd
    {
    protected:
        DECLARE_DYNCREATE(CPciprxctrl2)
    public:
        CLSID const& GetClsid()
        {
            static CLSID const clsid
                = { 0x32C54CC6, 0xB11C, 0x11D6, { 0xB7, 0x45, 0x0, 0x50, 0xBA, 0xCC, 0xDC, 0x45 } };
            return clsid;
        }
        virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
                            const RECT& rect, CWnd* pParentWnd, UINT nID, 
                            CCreateContext* pContext = NULL)
        { 
            return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); 
        }
     
        BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, 
                    UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE,
                    BSTR bstrLicKey = NULL)
        { 
            return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
            pPersist, bStorage, bstrLicKey); 
        }
     
    // Attributes
    public:
     
    // Operations
    public:
    };
    pense a mettre la balise de code, Merci Farscape

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,hé bien il semblerait que le concepteur n'ai pas voulu faire une interface a cet Activex.
    ou alors il est defaillant.
    le mieux serait de se renseigner aupres du fournisseur de l'Activex.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 8
    Par défaut
    C'est un ocx fourni par fourni avec une carte d'E/S qui permet d'apres la doc de lire /ecrire des E/S tout ou rien, donc c'est l'ocx est prévu pour faire plein de chose. Sinon pourquoi avec l'outil "activeX test container" je vois les méthodes?
    A quoi sert le fichier "tlb" qui est avec l'ocx?

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu devrais essayer de générer les classes a partir du tlb.
    en faisant ajouter une classe MFC a partir d'une typelib (sous 2005)
    et après tu selectionnes le .tlb..

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 8
    Par défaut
    alors dans l'ordre j'ai essayé de:
    j'ai généré une classe MFC à partie du tlb: ok
    j'ai toujours mon control inséré à partir de l'ocx,
    j'ai recréé une variable à partie du control qui m'a généré le wrapper de class: ok
    j'ai ajouté les méthodes de la class MFC venant du tlb dans le wrapper vide

    je n'arrive pas à tester car si je lance l'appli, elle ressort de suite de DoModal()
    je pense que j'ai vraiment un problème avec le control ocx.
    Est ce que je peux m'en passer en utilisant un simple objet avec ma class MFC?

Discussions similaires

  1. Débutant cherche un tutos la lecture d'un ficier
    Par maximenet dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/04/2006, 13h43
  2. [Débutant] Problème script ressource tuto
    Par MaN@eDeN dans le forum Windows
    Réponses: 8
    Dernier message: 08/03/2006, 23h20
  3. [Débutant] importation de flash.ocx
    Par Tymk dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/05/2005, 12h26

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