-
VC++6.0 窗口过程函数及消息发送、响应测试实例
VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:
⑴自定义消息:
在Resource.h文件中自定义消息:#define WM_MYMSG 2000
⑵添加窗口过程函数的声明和实现体:
①在.h文件中添加窗口过程函数声明:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
②在.cpp文件中添加窗口过程函数实现体:
⑶发送消息的方式比较:
①this->SendMessage(WM_MYMSG,0,0);
②this->PostMessage(WM_MYMSG,0,0);
③this->SendNotifyMessage(WM_MYMSG,0,0);
这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。
- 2023-03-05 04:00:03下载
- 积分:1
-
VC 扫描仪控制程序
这是一个在VC++环境下实现的扫描仪扫描管理程序,用于启动扫描和停止扫描,只是实现基本的扫描仪控制,不过本程序的顺利运行需要扫描仪支持,且是指定型号,窗口中对应的功能,由下面的按钮事件来响应:
开始扫描:
void CScanManageDlg::OnButton1()
{
m_Scan.ScannerAvailable();
m_Scan.OpenScanner();
m_Scan.StartScan();
}
停止扫描:
void CScanManageDlg::OnButton2()
{
m_Scan.StopScan();
}
- 2022-05-27 18:23:01下载
- 积分:1
-
VC++基本鼠标操作——判断鼠标消息
VC++基本鼠标操作——判断鼠标消息,操作方法:按下鼠标左键,移动鼠标即可绘制椭圆,直至释放左键!
void CBaseMouseDemoView::OnMouseMove(UINT nFlags, CPoint point)
{
if(bDrag)
{
ptUp=point;//记录鼠标的当前位置
DrawCircle();//画新圆
}
CView::OnMouseMove(nFlags, point);
}
void CBaseMouseDemoView::DrawCircle()
{
Invalidate(false);
CClientDC dc(this);//获取DC
CRect rect;
GetClientRect(rect); //获取客户窗口区域
CBrush brush(RGB(255,255,255));
dc.FillRect(rect,&brush);//填充背景色为白色
dc.Ellipse(ptDown.x,ptDown.y,ptUp.x,ptUp.y);//绘制矩形
}
- 2022-03-19 16:04:24下载
- 积分:1
-
西工大C++ OpenGL 三D台球室场景
收集分享给大家一个C++大作业,是由西工大学生完成的C++ OpenGL 三D台球室场景,这个台球室基于OpenGL的贴图技术实现,用了不少的BMP素材来贴图,不过效果真的挺不错,进入场景后,鼠标拖动、移动均可改变场景角度,台球桌和台球室场景均发生变化,就连窗外的大海也能看清,这个场景完全可扩展一上,用在3D如球游戏中。不过本效果实现,调用了几个外部组件:cygwin1.dll、EaxAc3.dll、glut32.dll、OpenAL32.dll等。最终效果可参见截图所示。
- 2022-05-13 03:54:05下载
- 积分:1
-
VC++ 使用TRY-THROW-CATCH结构捕获处理异常
VC++ 使用TRY-THROW-CATCH结构捕获处理异常,在编辑框中,要求输入100~500之间的整数,如果超过边界,认为是异常,使用TRY CATCH结构捕获处理异常,异常测试代码如下:
UpdateData(true);
try//捕获异常
{
if(m_num>500)
throw 1;//抛出异常
if(m_num
- 2023-07-20 04:55:03下载
- 积分:1
-
VC++ 6.0 测试监听用户的鼠标事件
VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
- 2023-08-14 22:50:02下载
- 积分:1
-
VC++ 数据库万能打印模块
VC++ 数据库万能打印模块,书中的例子,最终运行效果请参见截图。操作方法:首先在“选择数据库类型”下拉列表中选择数据库类型,这里有两种,Access和SQL Server。选择完数据库后,单击“连接数据库”进入相应的操作界面,选择数据表及字段,单击“确定”按钮,即可进入数据查询页面,在该页面中查以查询数据、打印数据。单击“查询”按钮,打开“查询”模块,单击“打印设置”按钮,打开“设置”模块,这里可以设置纸张,页边距,打印方向,字体,颜色,表格高度,线条宽度等等。单击“打颖按钮,进入打印预览页面,在该页面中单击“打颖按钮,即可打印数据。
详细的代码请下载源码包。
- 2022-01-29 04:39:18下载
- 积分:1
-
VC++ SQL数据库提取器(备份、还原、分离数据库)
VC++6.0编写的 SQL数据库提取器,本程序主要实现了备份和还原数据库、附加和分离数据库、提取数据表、导出数据、配置ODBC数据源等功能。
备份和还原数据库:在“选择数据库”下拉列表中选择要备份的数据库,单击工具栏中的备份数据库按钮,打开保存备份文件窗口,保存备份文件即可。还原数据库时,在“选择数据库”下拉列表中选择要还原的数据库,然后单击工具栏中的还原数据库按钮,选择备份文件,即可还原该数据库。
附加和分离数据库:单击附加数据库按钮,选择需要附加的数据库即可。
分离数据库时,在“选择数据库”下拉列表中选择要分离的数据库,然后单击分离数据库按钮即可。
提取数据表:选择要提取的数据库及相应的数据表,然后单击提取表结构按钮,打开“SQL提缺窗口,有两种提取方式,可以提取到Word或Excel中。
导出数据:选择要导出的数据表,单击“导出数据”按钮,打开“数据导出”窗口,有三种提取方式:导出到Word、导出到Excel、导出到文本,选择任意一种,单击“导出”按钮即可。
- 2022-05-23 15:52:48下载
- 积分:1
-
VC++ 小实验报告:Sin正弦波曲线绘制
VC++ 小实验报告:Sin正弦波曲线绘制,包括了坐标方面的技巧和波形绘制方面的知识,都可以从本示例中学习到,源代码简单,运行效果请看截图所示。
- 2023-08-02 06:25:02下载
- 积分:1
-
VC++ CFileException异常处理用法范例
VC++ CFileException异常处理用法范例,
catch(CFileException* e)
{
switch(e->m_cause)
{
case CFileException::fileNotFound:
{
strMessage.Format("打开文件时发生异常(try/catch):
在指定位置没有找到文件%s
",strFile);
AfxMessageBox(strMessage);
TRACE("即将删除捕获到的异常对象CFileException::fileNotFound
");
AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");
//删除异常对象
e->Delete();
TRACE("成功删除捕获到的异常对象CFileException::fileNotFound
");
AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");
break;
}
case CFileException::invalidFile:
{
strMessage.Format("打开文件时发生异常(try/catch):
文件%无效
",strFile);
AfxMessageBox(strMessage);
TRACE("即将删除捕获到的异常对象CFileException::invalidFile
");
AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");
//删除异常对象
e->Delete();
TRACE("成功删除捕获到的异常对象CFileException::invalidFile
");
AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");
break;
}
default:
break;
}
}
- 2022-01-26 02:02:12下载
- 积分:1