LRESULT CALLBACK CompWnd_WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { FOOTMARK(); HWND hUIWnd; switch (message) { case WM_PAINT: CompWnd_Paint(hWnd); break; case WM_SETCURSOR: case WM_MOUSEMOVE: case WM_LBUTTONUP: case WM_RBUTTONUP: DragUI(hWnd, message, wParam, lParam); if ((message == WM_SETCURSOR) && (HIWORD(lParam) != WM_LBUTTONDOWN) && (HIWORD(lParam) != WM_RBUTTONDOWN)) return DefWindowProc(hWnd, message, wParam, lParam); if ((message == WM_LBUTTONUP) || (message == WM_RBUTTONUP)) SetWindowLong(hWnd, FIGWL_MOUSE, 0); break; case WM_MOVE: hUIWnd = (HWND)GetWindowLongPtr(hWnd, FIGWLP_SERVERWND); if (IsWindow(hUIWnd)) SendMessage(hUIWnd, WM_UI_DEFCOMPMOVE, wParam, lParam); break; default: if (!IsImeMessage(message)) return DefWindowProc(hWnd, message, wParam, lParam); break; } return 0; }
LRESULT WINAPI CandWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_PAINT: PaintCandWindow(hWnd); break; case WM_SETCURSOR: case WM_MOUSEMOVE: case WM_LBUTTONUP: case WM_RBUTTONUP: DragUI(hWnd,NULL,message,wParam,lParam,FALSE); if ((message == WM_SETCURSOR) && (HIWORD(lParam) != WM_LBUTTONDOWN) && (HIWORD(lParam) != WM_RBUTTONDOWN)) { return DefWindowProc(hWnd,message,wParam,lParam); } if ((message == WM_LBUTTONUP) || (message == WM_RBUTTONUP)) { SetWindowLong(hWnd, FIGWL_MOUSE, 0L); } break; default: if (!MyIsIMEMessage(message)) { return DefWindowProc(hWnd,message,wParam,lParam); } break; } return 0L; }