登录
首页 » VC++源码 » VC++6.0 窗口过程函数及消息发送、响应测试实例

VC++6.0 窗口过程函数及消息发送、响应测试实例

于 2023-03-05 发布 文件大小:131.48 kB
0 209
下载积分: 2 下载次数: 1

代码说明:

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将指定的消息传给窗口过程函数后立即返回。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C++课程设计大作业_学生管理系统(含+实验报告)
    这个C++作业主要是编写一个学生成绩管理系统,资料中包括了实验文档报告和项目源代码,项目代码并不多,对学习有帮助。   1.设计目的:用计算机完成对学生成绩的管理。包括对计算机所储存信息的查询、修改、删除、统计等。利用简单容易操作的菜单界面,方便学校、教师等利用计算机的高效、智能化以及存储的便捷性对学生成绩进行管理,可以节省人力时间,安全便捷。   2.总体设计:学生成绩管理系统提供三大模块,即学生成绩信息维护,学生成绩信息查询,学生成绩统计。其中信息维护包括对学生信息的修改,删除和增加,信息查询实现通过学生学号或姓名查询成绩的功能。学生成绩统计则对不同科目不同分数段的学生进行统计,方便用户对学生成绩获得总体的了解和把握。   3.详细设计:首先为用户提供方便的菜单,利用数据输入输出流和规范化输出等实现。再由控制结构实现用户选择与系统功能的对应。利用文件输入输出使C++程序与其数据的存储所在得txt文件联系起来,并进行读写操作。利用2个string类型的数组存储学生姓名和学号,再利用3个int类型数组用来存储学生的三科成绩。   函数实现系统的功能。首先,通过一个getRow函数获得系统中目前存储的学生人数。再通过一个getID函数,将txt文件中的学生信息录入到之前声明的五个数组中。然后即可对学生数据进行操作。searchGrade可实现用户对学生成绩的查询,changeGrade可帮助用户修改学生的各项信息,addGrade可以向计算机存储中增加新的学生信息,countGrade可统计不同科目不同分数段的学生分布情况。另外,enterChoice函数用来帮助信息维护的用户对不同的维护选项进行选择,而saveResult则在用户对数据进行维护后进行文件的保存,完成C++程序与txt文件的数据交流。main函数主要进行控制结构的安排和变量的声明。   在全部功能实现并正常编译后,对程序进行了新的修改。在countGrade中提供了更多学生信息,完善了错误反馈机制。并对菜单进行了美化调整。对几个函数的位置作了调整。   经调试,程序能够快速准确的执行设计目的中的各项要求和期望,达到设计初衷。   所有这些资料,你都可以通过压缩包中的课程设计报告.doc文档来了解。
    2022-02-09 18:24:25下载
    积分:1
  • VC6.0 多表分组统计查询销售数据
    VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。   提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
    2023-02-05 17:45:03下载
    积分:1
  • VC 结合定时器隐藏进程一定时间
    VC++ 隐藏进程,这个例子结合了计时器来实现,不是永久隐藏,是隐藏进程一定时间,根据定时器返回的时间,重新显示进程。   要实现这个过程,可编写以下代码:   LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;   //加载RegisterServiceProcess函数所在的链接库   hDLL = LoadLibrary("KERNEL32");   //得到RegisterServiceProcess函数的地址   lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL, "RegisterServiceProcess");   //执行RegisterServiceProcess函数,在任务列表中隐藏程序   lpRegisterServiceProcess(GetCurrentProcessId(),1);   //卸载链接库   FreeLibrary(hDLL);   //设定定时器   SetTimer(0,m_nSeconds*1000,NULL);   //隐藏程序的同时,隐藏窗口   ShowWindow(SW_HIDE);   后续会卸载链接库,请下载源码查看源代码文件。
    2022-04-17 12:20:46下载
    积分:1
  • 带有服务端和客户端的VC++点对点,聊天及
    带有服务端和客户端的VC++点对点,聊天及数据传输源码,也就是大家熟悉的CS结构,一个是接收消息,一个是发送消息,在服务端和客户端都可以显示消息内容和连接状态。运行的最终效果请参见如图所示。   运行图是Server服务端的效果,客户端没有编译。   void CClientDlg::OnBottonsend()   {    UpdateData();    if (!m_strSend.IsEmpty())    m_client.Send(m_strSend,m_strSend.GetLength());    else    AfxMessageBox("发送内容不能为空!");   }
    2022-11-23 12:00:03下载
    积分:1
  • VC++在视图中使用鼠标进行绘图操作(涂鸦)
    VC++ ——在视图中使用鼠标进行绘图操作(涂鸦),按下鼠标左键,载入"十字"光标,移动鼠标即可实现绘制图形,但窗口不能自动重绘,定义各变量及具体实现:   void CBaseDocViewDemo1View::OnLButtonDown(UINT nFlags, CPoint point)   {    SetCursor(m_Hcursor);//使用新光标    m_bDraw=TRUE;//进入绘图状态    m_pOld=point;    SetCapture();//捕捉鼠标    CRect rect;    GetClientRect(&rect);//获取客户窗口矩形区域    ClientToScreen(&rect);//转换为屏幕坐标    ClipCursor(rect);//限定鼠标不能移出客户窗口    CView::OnLButtonDown(nFlags, point);   }      void CBaseDocViewDemo1View::OnLButtonUp(UINT nFlags, CPoint point)   {    m_bDraw=FALSE;//取消绘图状态    ReleaseCapture();//释放鼠标捕捉    ClipCursor(NULL);//取消鼠标区域的限制    CView::OnLButtonUp(nFlags, point);   }
    2023-04-03 12:40:04下载
    积分:1
  • VC6.0 对画图文档实行序列化处理
    VC6.0 文档序列化实例——对画图文档实行序列化处理,文挡之序列化(Serialize)读写例子,代码翻译:一剑。   // 打印带水平线的文档名字   pDC->SetTextAlign(TA_LEFT);   pDC->TextOut(0,-25, strHeader); // 1/4 inch down   // 在文档头的下面画一条直线横穿页面   TEXTMETRIC textMetric;   pDC->GetTextMetrics(&textMetric);   int y = -35 - textMetric.tmHeight; // 横线在距离文本下方1/10 英寸处   pDC->MoveTo(0, y); // 从左边空白处   pDC->LineTo(pInfo->m_rectDraw.right, y); // 到右边空白处   y -= 25;   pInfo->m_rectDraw.top += y;
    2023-04-28 14:50:03下载
    积分:1
  • VC++演示如何使用insert语句批量向数据库插入数据
    VC++演示如何使用insert语句批量向数据库插入数据,这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据,有效提升工作效率。本示例测试前请先准备好数据库并连接上,否则会报错。
    2022-02-26 09:24:35下载
    积分:1
  • VC++ 设置位置断点跟踪程序
    VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:   srand( (unsigned)time( NULL ) );//产生随机种子   int array[number];   CString str1,str2;   str1="原始顺序:";   for(int i=0;i  {    array[i]=rand();//设置条件断点    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,10,str1);//输出原始数组顺序   BubbleSort(array, 1, number);   str1="排序顺序:";   for( i=0;i  {    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,30,str1);//输出排序后的数组顺序
    2022-03-21 21:04:24下载
    积分:1
  • vc++CThreadEx范例
    vc++CThreadEx范例源码,创建两个线程分别显示不同的图片,形成交替显示的效果,演示了线程同步和异步,并涉及到定时器的使用。在交替显示图片时,每半秒触发定时器,演示了在一个周期内创建线程、启动线程、向工作线程发出退出命令、等待工作线程、销毁工作线程、主线程停止交替显示,i交替取值0和1、解除同步、检验是否有消息到达等各个环节的实现代码。
    2022-03-03 18:54:02下载
    积分:1
  • VC 电话录音的实现
    这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话的三种状态,即:内线、外线、悬空。在外线来电话状态,可以启动录音程序,摘机,开始录音,挂机停止录音,录音过程中判断电话是否挂机,双保险。
    2023-06-20 11:50:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载