龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC中对鼠标的确定及简单控制(3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
if (fwKeys!=0) { //把指定的内容输出到szTitle数组中 lstrcat(szTitle, " ---- 您按下了"); if(fwKeys MK_CONTROL) lstrcat(szTitle, "Ctrl "); if(fwKeys MK_SHIFT) lstrcat(szTitle, "Shift ");

   if (fwKeys!=0)
   {
    //把指定的内容输出到szTitle数组中
    lstrcat(szTitle, " ---- 您按下了");

    if(fwKeys & MK_CONTROL)
     lstrcat(szTitle, "Ctrl ");
    if(fwKeys & MK_SHIFT)
     lstrcat(szTitle, "Shift ");
    if(fwKeys & MK_LBUTTON)
     lstrcat(szTitle, "鼠标左按钮");
    if(fwKeys & MK_RBUTTON)
     lstrcat(szTitle, "鼠标右按钮");
    lstrcat(szTitle, "键");
   }
   SetWindowText(hWnd, szTitle);
   break;

  case WM_LBUTTONDBLCLK:
  case WM_RBUTTONDBLCLK:
   //如果鼠标双击了窗口客户区,那么就显示坐标信息
   hDc = GetDC(hWnd);

   //设置输出字体颜色
   SetTextColor(hDc, (message == WM_LBUTTONDBLCLK) ? RGB(255, 0, 0) : RGB(0, 0, 255));
   wsprintf(szTitle, "(%d,%d)", LOWORD(lParam), HIWORD(lParam));
   TextOut(hDc, LOWORD(lParam), HIWORD(lParam), szTitle, lstrlen(szTitle)); //在指定位置输出文本
 
   ReleaseDC(hWnd, hDc);
   break;
  case WM_PAINT:
   hDc = BeginPaint(hWnd, &ps);

   hMemDc = CreateCompatibleDC(hDc);
   SelectObject(hMemDc, hSun);
   BitBlt(hDc, 90, 8, 80, 60, hMemDc, 0, 0, SRCCOPY);
   DeleteDC(hMemDc);

   hMemDc = CreateCompatibleDC(hDc);
   SelectObject(hMemDc, hMoon);
   BitBlt(hDc, 90, 78, 80, 60, hMemDc, 0, 0, SRCCOPY);
   DeleteDC(hMemDc);

   EndPaint(hWnd, &ps);
   break;
  case WM_DESTROY:
   DeleteObject(hSun);
   DeleteObject(hMoon);
   PostQuitMessage(0);
   break;
  default:
   return (DefWindowProc(hWnd, message, wParam, lParam));
 }
 return (0);
}

  以上是我们全文之重点。。主要的对鼠标的操作。注释很完全,不多罗嗦了。

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接