设置鼠标忙碌状态
来源:互联网 发布:关口知宏妻子 编辑:程序博客网 时间:2024/05/28 15:05
在MFC C++编程中,我们可能会碰到点击某个按钮后程序要进行较长一段时间的处理,这期间不想让用户到处乱点导致误操作,这个类可以将鼠标设置为忙碌状态且屏蔽用户在忙碌期间的操作消息
//类头文件
//tqw于2016.12.09封装,用于快捷设置鼠标忙碌状态,相比于系统自带的CWaitCursor类多了屏蔽忙碌状态下消息响应功能#pragma onceclass CMyWaitCursor{public:CMyWaitCursor(void);void Restore();~CMyWaitCursor(void);};
//类实现
#include "StdAfx.h"#include "MyWaitCursor.h"CMyWaitCursor::CMyWaitCursor(void){AfxGetApp()->BeginWaitCursor();}void CMyWaitCursor::Restore()//如果你执行了可能会使光标改变的操作,比如显示消息框或对话框,则应调用Restore成员函数以恢复光标。即使当前正在显示等待光标也可以调用Restore函数{AfxGetApp()->RestoreWaitCursor();}CMyWaitCursor::~CMyWaitCursor(void){//消耗掉消息队列中的所有消息以达到在鼠标忙碌状态下点击不响应的效果MSG msg; while(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){//WM_PAINT不能被REMOVE,需要Dispatchif (msg.message=WM_PAINT){::DispatchMessage(&msg);}}AFX_BEGIN_DESTRUCTORAfxGetApp()->EndWaitCursor();AFX_END_DESTRUCTOR}
使用案列
void CMy2010testDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CMyWaitCursor wait; // 显示等待光标,只要创建一个对象就会自动设置鼠标忙碌状态,在超出对象作用范围时会自动调用析构函数还原状态(如果用New方式创建则需要手动delete)
Sleep(5*1000);//延时以体现忙碌光标效果
}
0 0
- 设置鼠标忙碌状态
- 改变鼠标的状态,显示为忙碌
- 如何在SWT中使鼠标的状态变成忙碌
- 如何在SWT中使鼠标的状态变成忙碌
- 如何在SWT中使鼠标的状态变成忙碌
- 如何在SWT中使鼠标的状态变成忙碌
- C#系列——实现鼠标忙碌状态
- flex鼠标忙碌
- 忙碌的状态
- 即将进入忙碌状态
- 【MFC 定义消息、设置鼠标状态】
- Qt设置鼠标等待状态与恢复。
- Qt设置鼠标等待状态与恢复。
- 忙碌
- 忙碌!
- 忙碌
- 忙碌
- 忙碌
- leetcode标记数组
- 获取文件的MIMEType
- PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量
- Java泛型学习笔记
- iOS 比较详细的自定义framework编译方法
- 设置鼠标忙碌状态
- 1000句最常用英语口语 (五)
- MySQL数据库基本操作(数据库操作一)
- Unity Sprite 灰色图效果
- 下载安装sparse,进行代码检查编译
- js断点调试入门指导
- MyEclipse远程debug jboss7
- 提高编程水平的十条PHP技巧
- 阿里云更换系统盘