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; }