LRESULT CALLBACK PetscWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PetscFunctionBegin; switch (message) { HANDLE_MSG(hWnd,WM_PAINT,OnPaint_Win32); HANDLE_MSG(hWnd,WM_DESTROY,OnDestroy_Win32); case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); /* Parse the menu selections:*/ switch (wmId) { case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_LBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_LEFT); break; case WM_RBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_RIGHT); break; case WM_MBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_CENTER); break; default: PetscFunctionReturn(DefWindowProc(hWnd, message, wParam, lParam)); } PetscFunctionReturn(0); }
EXTERN_C_END /* FUNCTION: PetscWndProc(HWND, unsigned, WORD, LONG) PURPOSE: Processes messages for the main window. WM_COMMAND - process the application menu WM_PAINT - Paint the main window WM_DESTROY - post a quit message and return */ #undef __FUNCT__ #define __FUNCT__ "PetscWndProc" LRESULT CALLBACK PetscWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PetscFunctionBegin; switch (message) { HANDLE_MSG(hWnd,WM_PAINT,OnPaint_Win32); HANDLE_MSG(hWnd,WM_DESTROY,OnDestroy_Win32); case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); /* Parse the menu selections:*/ switch (wmId) { case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_LBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_LEFT); break; case WM_RBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_RIGHT); break; case WM_MBUTTONUP: MouseRecord_Win32(hWnd,PETSC_BUTTON_CENTER); break; default: PetscFunctionReturn(DefWindowProc(hWnd, message, wParam, lParam)); } PetscFunctionReturn(0); }