《Windows程序设计》之鼠标2
来源:互联网 发布:免费ddos攻击软件 编辑:程序博客网 时间:2024/05/22 03:08
case WM_SIZE:cxBlock=LOWORD(lParam)/DIVISIONS;cyBlock=HIWORD(lParam)/DIVISIONS;return 0;//以下代码,我觉得没有用到,于是注释/*case WM_SETFOCUS:ShowCursor(TRUE);return 0;case WM_KILLFOCUS:ShowCursor(FALSE);return 0;*///下面是键盘操作触发消息case WM_KEYDOWN://获取点坐标GetCursorPos(&point);//屏幕坐标转窗口坐标ScreenToClient(hwnd,&point);//这个地方看了好长时间才明白过来的。//为了保证得到的x,y在0与DIVISIONS-1之间。x=max(0,min(DIVISIONS-1,point.x/cxBlock));y=max(0,min(DIVISIONS-1,point.y/cyBlock));switch(wParam){//PageUpcase VK_UP:y--;break;//PageDowncase VK_DOWN:y++;break;//Leftcase VK_LEFT:x--;break;//Rightcase VK_RIGHT:x++;break;//Homecase VK_HOME:x=y=0;break;//Endcase VK_END:x=y=DIVISIONS-1;break;//回车或空格case VK_RETURN:case VK_SPACE://发送WM_LBUTTONDOWNSendMessage(hwnd,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(x*cxBlock,y*cyBlock));break;}//上面x,y经过相应的变化,重新计算//比如在最左侧时,x为0,x--后,经过下面的计算,x=9,光标就移到最右边了。//真心学习了.....x=(x+DIVISIONS)%DIVISIONS;y=(y+DIVISIONS)%DIVISIONS;point.x=x*cxBlock+cxBlock/2;point.y=y*cyBlock+cyBlock/2;//转换为屏幕坐标,然后设置光标ClientToScreen(hwnd,&point);SetCursorPos(point.x,point.y);return 0;
代码是CHECKER2中部分,与CHECKER1相比,加入了键盘控制,个人认识可以学习的就是上面我加入注释的这一些了,一些常规操作的实现方法感觉还是不错的。
- 《Windows程序设计》之鼠标2
- 《Windows程序设计》之鼠标
- 《Windows程序设计》之鼠标1
- 《Windows程序设计》之鼠标3
- 《Windows程序设计》之鼠标滚轮
- windows程序设计之捕获鼠标
- Windows程序设计之键盘和鼠标
- windows程序设计之鼠标之子窗口
- windows程序设计之鼠标之客户区鼠标消息
- Windows程序设计 -鼠标
- Windows程序设计--鼠标
- Windows程序设计-鼠标
- windows程序设计之鼠标,键盘,绘制文本简介
- MFC Windows 程序设计->捕获鼠标
- Windows程序设计_17_鼠标_1
- windows程序设计:键盘和鼠标
- windows程序设计:键盘和鼠标
- windows程序设计——鼠标
- javascript 内存监测工具
- Career Cup 1-6
- 【原创】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
- 怎样为Linux内核打补丁,及特定版本内核下载
- 解决ffmpeg编译后ffplay没有生成的问题
- 《Windows程序设计》之鼠标2
- C语言中的多维数组(2)
- 报表自定义工具栏
- Exchange 2003 升级到Exchange 2010 之设置Internet Facing FQDN 名称!
- 教你禁用XP四大自动播放功能
- a walk throught the forest(HDU1142)
- c++ string类实现
- 用 IIS 7、ARR 與 Velocity 建设高性能的大型网站
- 【C++】setw函数的用法和作用【原创技术】