Announcement

Collapse
No announcement yet.

User defined Windows Messages in ActiveX

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • User defined Windows Messages in ActiveX

    Hallo,
    ich habe ein ActiveX Projekt im Visual Studio 2005 (MFC) erstellt und dort mit AfxBeginThread(ThreadFunc, (LPVOID)this); einen neuen Thread erstellt.
    Nun will ich aber das die Events aus über den Hauptthread kommen. Dafür habe ich nach einem Beispiel folgende User Message code probiert:

    #CCommunicationCtrl.cpp - Hauptdatei des ActiveX#
    BEGIN_MESSAGE_MAP(CCommunicationCtrl, COleControl)
    ON_MESSAGE(OCM_COMMAND, OnOcmCommand)
    ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
    ON_MESSAGE(WM_THREADACTUALEVENT,OnActualMessageEve nt)
    ON_MESSAGE(WM_THREADFIREEVENT,OnMessageEvent)
    END_MESSAGE_MAP()

    LRESULT OnActualMessageEvent(WPARAM wParam, LPARAM lParam)
    {
    OnActuals(EComThread.getActualString().c_str());
    return TRUE;
    }

    LRESULT OnMessageEvent(WPARAM wParam, LPARAM lParam)
    {
    OnEvent((LONG)wParam,(LONG)lParam);
    return TRUE;
    }

    #stdafx.h#
    #define WM_THREADACTUALEVENT WM_USER+1
    #define WM_THREADFIREEVENT WM_USER+2

    #CommunicationThread.cpp - Thread#
    PostMessage(pCtrl->m_hWnd,WM_THREADFIREEVENT,(WPARAM)100,(LPARAM)3 );

    Das ganze compiliert ohne Fehler allerdings kommen keine Events an der Applikation an wo das ActiveX einbindet.
    Sieht jemand den Fehler?
    Das ganze habe ich nach folgendem Beispiel gemacht: http://support.microsoft.com/kb/157437/de
    Und auch mehrfach überprüft ich finde den Fehler einfach nicht.

    Gruß
    Sven

  • #2
    Windows Messages

    Hallo

    Probier doch mal WM_APP + ... anstelle von WM_USER + ...

    http://msdn2.microsoft.com/en-us/library/ms644931.aspx
    http://msdn2.microsoft.com/en-us/library/ms644930.aspx

    Gruss Simon

    Comment


    • #3
      http://msdn2.microsoft.com/en-us/library/ms644930.aspx
      Christian

      Comment


      • #4
        Hallo,
        hat leider nichts gebracht.
        Hatte ich auch schonmal drin als ich das beispiel ganz zu anfang kopiert hatte.

        Gruß Sven

        Comment


        • #5
          Hallo,
          habe gerade raus gefunden das die Events im ActiveX Test Container vom VS funktionieren.
          Kann es sein das wenn das ActiveX im Hauptprogramm eingebunden ist die Messages dort hin sendet und das Hauptprogramm dann damit nichts anfangen kann?
          Weiß jemand was da jetzt noch Falsch ist und ich tun muss damit das auch im richtigen Programm funktioniert?
          Gruß

          Comment

          Working...
          X