Exemple #1
0
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;
}
Exemple #2
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;
}