Exemplo n.º 1
0
MRESULT EXPENTRY wpDragInfo( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
{
    switch( msg )
    {
        case WM_INITDLG:
            InitControls( hwnd );
            return (MRESULT) TRUE;   // Return TRUE to retain any changed focus

        case WM_COMMAND:
            if( wmCommand( hwnd, SHORT1FROMMP( mp1 ) ) )
                return 0;
            else
                break;

        case WM_SETFOCUS:
            if( mp2 )
                WinPostMsg( hwnd, UM_SET_FOCUS, NULL, NULL );
            break;

        case UM_SET_FOCUS:
        {
            PPAGEDATA pPageData = WinQueryWindowPtr( hwnd, QWL_USER );
            if( pPageData )
                WinSetFocus( HWND_DESKTOP,
                             WinWindowFromID( hwnd, pPageData->idFocus ) );
            return 0;
        }

        case WM_CONTROL:
            wmControl( hwnd, SHORT1FROMMP( mp1 ), SHORT2FROMMP( mp1 ) );
            return 0;

        case UM_GET_FOCUS_ID:
            return (MRESULT) CB_OPERATION;

        case UM_DUMP_DLGINFO:
            DumpDlgInfo( hwnd );
            break;
    }

    return WinDefDlgProc( hwnd, msg, mp1, mp2 );
}
LRESULT CALLBACK BaseWin::ImpleWinProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{

    switch(Msg)
    {
        case WM_CREATE:
             wmCreate(hwnd);
             break;

        case WM_COMMAND:
             wmCommand(wParam);
             break;


        case WM_LBUTTONDOWN:
             wmLButtonDown();
             break;

        case WM_RBUTTONDOWN:
             wmRButtonDown();
             break;


        case WM_KEYDOWN:
             wmKeyDown(wParam);
             break;

        case WM_DESTROY:
             wmDestroy();
             PostQuitMessage(0);
             break;


        default:
            return DefWindowProc(hwnd,Msg,wParam,lParam);


    }

    return 0;

}