installMessageProc + send message

15. Januar 2010 15:19

Hallo,

In DAX gibt es ja die Möglichkeit einen MessageProc für eine Form zu erstellen.
Das funktioniert im Grunde auch super. Im init der Form geschieht das so:
Code:
formRun.installMessageProc(#WM_User+100, formRun.hWnd(), "CallbackMethod");


Triggern kann man das dann so:
Code:
WinApi::postMessage(formRun.hWnd(), #WM_User+100, wParam, lParam);


Und auffangen kann man dan solche Windows Messages mit der Callback Methode auf der Form wo
der MessageProc installiert ist.
Code:
void CallbackMethod(HWND _hwnd, int _iMessage, int _wParam, int _lParam, int _iPx, int _iPy)
{
    ;
    switch(_iMessage)
    {
        case  #WM_User+10
            ...
            break;
    }
}


So das funktioniert tadellos.
Jedoch nur wenn die Form gerade den Focus hat. Ansonsten wird die Windows Message
vom System verschluckt.


Meine Fragen lauten also:
*) Kann ich eine Form bzw Thread dazu zwingen die Windows Message Queue auszuführen?
*) Gibt es eine andere Möglichkeit in AX Callback Methoden zu erzeugen?

Hat vll. jemand schon mal was in diese Richtung gehört?

lg
Christian