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 :

Fenetre dans une dll ATL


Sujet :

MFC

  1. #1
    LEK
    LEK est d�connect�
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Par d�faut Fenetre dans une dll ATL
    Bonsoir, j'aimerais savoir si quelq'un saurait comment instancier dans une m�thode de dll atl une classe impl�mentant CWindowImpl et ensuite avec une boucle de message r�cup�rer les �v�nements oncreate,onresize,ondestroy ?

  2. #2
    LEK
    LEK est d�connect�
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Par d�faut
    Est ce que vous sauriez ci ce que je voudrais effectuer est au moins possible, svp ?

  3. #3
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    http://msdn.microsoft.com/library/en-us/vccore/html/_atl_Implementing_a_Window_with_CWindowImpl.asp

  4. #4
    Membre �m�rite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par d�faut
    yes, c'est effectivement possible
    Regarde un peu dans l'MSDN ou dans ton CD MSDN tu as des exemples de VC++ sur ATL...

  5. #5
    LEK
    LEK est d�connect�
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Par d�faut
    Bonsoir,
    merci pour vos r�ponses, en fait j'ai d�j� parcouru plus ou moins la doc sur le sujet et la msdn. Mon objectif c'est l'�criture d'une classe impl�mentant CwinowImpl laquelle charge un contr�le WebBrowser, j'appelle ac tuellment une m�thode simple de ma dll depuis vbscript qui instancie la classe de fen�tre et... c'est bon la fen�tre et cr��e. Par contre le point suivant que je veux impl�menter c'est le chargement d'une page dans le contr�le browser et la rcup�ration du code charg�. Pour �a j'ai cr�� une classe de collecteur d'�v�nement : CEventSink, je voudrais pouvoir rep�r� le chargement complet du document, mais pour relier mon collecteur d'�v�nement � la fen�tre nouvellement cr�� j'ai un nouveau probl�me.
    Je fais pour cela appel � AtlAxGetControl pour avoir un pointeur d'interface sur le contr�le browser et d�j� l� �a plante... Voici ma fonction :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    //générer à la création de la fenetre
    LRESULT CMainWindow::OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
    {
     
     
      MessageBox("création de la fen","Messagebox");  
     
     
    	HRESULT hr;
        RECT old;
        IUnknown * pUnk = NULL;
        GetClientRect(&old);
     
        m_hwndWebBrowser = ::CreateWindow(_T(ATLAXWIN_CLASS), m_URI,
            /*WS_POPUP|*/WS_CHILD|WS_DISABLED, old.top, old.left, old.right,
            old.bottom, m_hWnd, NULL, ::GetModuleHandle(NULL), NULL);
     
    MessageBox("création de la fen effectuée 1","Messagebox");  
     
    //a ce niveau j'ai un plantage!!!
        hr = AtlAxGetControl(m_hwndWebBrowser, &m_pWebBrowserUnk);
     
    MessageBox("création de la fen effectuée 10 ","Messagebox");  
     
        if (FAILED(hr))
            return 1;
     
    MessageBox("création de la fen effectuée 2 ","Messagebox");  
    	if (m_pWebBrowserUnk == NULL)
            return 1;
     
    MessageBox("création de la fen effectuée 3 ","Messagebox");  
     
        hr = m_pWebBrowserUnk->QueryInterface(IID_IWebBrowser2, (void**)&m_pWebBrowser);
     
     
     
        if (FAILED(hr))
            return 1;
     
     
    	MessageBox("création de la fen effectuée 4 ","Messagebox");  
        hr = CComObject<CEventSink>::CreateInstance(&m_pEventSink);
     
        if (FAILED(hr))
            return 1;
     
    	MessageBox("création de la fen effectuée 5 ","Messagebox");  
        m_pEventSink->m_pMain = this;
     
    	MessageBox("création de la fen effectuée 6 ","Messagebox");  
     
        hr = AtlAdvise(m_pWebBrowserUnk, m_pEventSink->GetUnknown(),
                       DIID_DWebBrowserEvents2, &m_dwCookie);
     
     
        if (FAILED(hr))
            return 1;
     
     
    MessageBox("fin création de la fen","Messagebox");  
        return 0;
    }

Discussions similaires

  1. Cr�er une fenetre avec CreateWindow dans une DLL
    Par fx007 dans le forum Windows
    R�ponses: 6
    Dernier message: 06/07/2007, 12h31
  2. [VStudio 6] pb avec fonctions dans une DLL
    Par MogDeChNord dans le forum MFC
    R�ponses: 8
    Dernier message: 08/01/2004, 08h57
  3. [BP7] Problème chargement de ressource dans une DLL
    Par Alcat�z dans le forum Turbo Pascal
    R�ponses: 11
    Dernier message: 26/07/2003, 21h36
  4. PB avec "self" dans une dll
    Par DiJiRiDouS dans le forum Langage
    R�ponses: 2
    Dernier message: 21/02/2003, 09h32
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et ant�rieur
    R�ponses: 6
    Dernier message: 20/09/2002, 10h15

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