Sample Object Window Procedure

MRESULT EXPENTRY wpObject(HWND hWnd,
                         ULONG ulMsg,
                         MPARAM mp1,
                         MPARAM mp2)
{
        HWND     hNotify;
        HWND     hObject;

        switch (ulMsg)
               {
               case WM_CREATE:
                    WinDefWindowProc(hWnd,
                                     usMsg,
                                     mp1,
                                     mp2);
                    <initialize instance data>
                    <open data objects>

                    hNotify=HWNDFROMMP(mp1);
                    hObject=MPFROMHWND(hWnd);
                    WinPostMsg(hNotify,
                               WMP_NOTIFY,
                               hObject,
                               0);

                    return((MRESULT)FALSE);
                    break;
               case WMP_PUTDATA:
                    <put data into database>
                    <post message to logging object>
                    return((MRESULT)TRUE);
                    break;
               case WMP_GETDATA:
                    <get data from database>
                    <post data to caller in message>
                    return((MRESULT)TRUE);
                    break;
               case WM_DESTROY:
                    <close data objects>
                    <free any instance data areas>
                    return((MRESULT)0);
                    break;
               default:
                    return(WinDefWindowProc(hWnd,
                                            ulMsg,
                                            mp1,
                                            mp2));
               }
}


[Back: Secondary Thread Creating an Object Window]
[Next: Creating a Thread Without an Object Window]