mfc设置鼠标状态OnSetCursor响应函数
参考文章:1.https://bbs.csdn.net/topics/70084486
2.https://blog.csdn.net/wang15061955806/article/details/52385911
该函数专门由于设置光标的形状,是对WM_SETCURSOR消息的响应。
1.该消息在鼠标发生任何事件时都能响应(单击,双击,移动,且该函数的调用在对于鼠标响应函数之前)。
如果处理了该函数,一定要返回return TRUE,不要让父类再处理。
一、函数原型
afx_msg BOOL CWnd::OnSetCursor(CWnd* pWnd,UINT nHitTest,UINT message);
参数一:当前鼠标位于哪个窗口(控件)上,可以通过pWnd->GetDlgCtrID()来判断设置鼠标形状
参数二:表示当前鼠标位于实现该函数的窗口的哪个位置(HTBORDER HTCLIENT等等,参考OnNcHitTest函数)
参数三:表示鼠标消息的值(WM_LBUTTONDOWN WM——LBUTTONUP诸如此类)
有了这些参数,通过判断就可以对于不同位置,不同控件,不同鼠标状态做不同的处理了
二、改变鼠标形状
hCursor=LoadCursor(NULL,IDC_WAIT);
SetCursor(hCursor);
return TRUE;
当改变鼠标的形状后一定要返回TURE,表示该窗口已经处理鼠标形状完毕,不需要再交给该窗口的父窗口处理了,如果不返回TURE,则父窗口会默认恢复光标形状。
三、自定义判断条件
例如当a=1时让鼠标变成忙,=2时让光标变成箭头,非常灵活
mfc设置鼠标状态OnSetCursor响应函数的更多相关文章
- MFC之鼠标消息处理
今天学了点MFC的鼠标处理.用鼠标处理编写了一个小程序.在文本窗口内,绘制鼠标移动轨迹,当按下CTRL键时鼠标将变成十字,并且填充为蓝色的矩形. 第一步:建立单文的MFC程序,添加类CMouseDem ...
- VC/MFC 当鼠标移到控件上时显示提示信息
VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法 ...
- iOS MJRefresh设置MJRefreshStateNoMoreData状态图片
MJRefresh地址 // 代码地址: https://github.com/CoderMJLee/MJRefresh// 代码地址: http://code4app.com/ios/%E5%B ...
- IntelliJ设置鼠标悬浮提示和修改快捷键
IntelliJ设置鼠标悬浮提示和修改快捷键 设置鼠标悬浮提示 修改快捷键 进入设置菜单 删除原来的快捷键(注:你可以选择保留原来的快捷键,同时使用两个快捷键) Good Luck
- jquery设置checkbox状态,设置dropdownlist选中值,隐藏某控件,给某控件追加东西
jquery设置checkbox状态 $("[ID$=chkType]").attr("checked", true); jquery设置dropdownlis ...
- magento设置订单状态
<?php require_once('app/Mage.php');umask(0);Mage::app('default'); $order = Mage::getModel('sales/ ...
- C# 设置鼠标指针
鼠标光标指针的使用 #region 设置鼠标指针 //设置鼠标指针 //Cursor cus = new Cursor(@"C:\Users\Public\Pictures\Sample P ...
- C#设置鼠标在控件上面时,改变光标形状
//设置鼠标在控件上面时,改变光标形状 private void pictureBox_macroLogo_MouseHover(object sender, System.EventArgs e) ...
- setsockopt设置socket状态
setsockopt设置socket状态 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsoc ...
随机推荐
- _DataStructure_C_Impl:图的最小生成树
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef char VertexType[4] ...
- pycharm的安装和破解
前提: 为了学习爬虫,单独下载了一个pycharm编辑器,所以就有了这篇文章,和PHPstorm的安装和破解及其类似, 如有想了解PHPstorm的安装破解可参考我的另一篇博文:http://www. ...
- thrift实例
Thrift实例 Apache thrift是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架. 它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生 ...
- yii2.0 console执行php守护进程
//该方法只需执行一次public function actionIndex(){ $pid =pcntl_fork();//在当前进程中生成一个新的子进程 //$pid会有三种形式 $pid==-1 ...
- map 玩家上线
map 玩家上线 else if(gs2ms_add_player == pkt.cmd) { PlayerChannel* pPC = new PlayerChannel(this); //加到地图 ...
- 开关openCV
#include <cv.h> #include <highgui.h> #include <stdio.h> //开关 ; void switch_callbac ...
- nginx中使用waf防火墙
1.安装依赖 yum install -y readline-devel ncurses-devel 2.安装Lua # .tar.gz # cd lua- # make linux # make i ...
- iostat命令简单使用
1.iostat使用范围 iostat命令可以生成3种类型的报告: (1)CPU使用情况的报告 (2)设备使用情况的报告 (3)网络文件系统(NFS)使用情况的报告 2.每种报告的格式说明 关于CPU ...
- why factory pattern and when to use factory pattern
1 factory pattern本质上就是对对象创建进行抽象 抽象的好处是显然的,可以方便用户去获取对象. 2 使用factory pattern的时机 第一,当一个对象的创建依赖于其它很多对象的时 ...
- 关于highcharts-ng
1.内容都正确但是不显示,使用parseInt()方法转换