当前位置: 首页 > news >正文

深圳wap网站建设搜索app下载

深圳wap网站建设,搜索app下载,网站评论怎么做的,vi设计全套包含在 Visual Studio 2005 的 MFC 程序中的函数和消息机制涉及线程间通信、消息处理以及与窗口消息的交互。接下来我将详细分析以下每个函数的作用、如何使用它们以及它们之间的调用关系。 1. PostThreadMessage(m_iThOpID, MSG_OP_OVER, 0, (LPARAM)iLparm); 函数用途&#xff1…

在 Visual Studio 2005 的 MFC 程序中的函数和消息机制涉及线程间通信、消息处理以及与窗口消息的交互。接下来我将详细分析以下每个函数的作用、如何使用它们以及它们之间的调用关系。

1. PostThreadMessage(m_iThOpID, MSG_OP_OVER, 0, (LPARAM)iLparm);

  • 函数用途PostThreadMessage 是一个用于向指定线程发送消息的函数。它允许一个线程将消息发送到另一个线程的消息队列。消息可以是自定义的,也可以是系统定义的消息。

  • 参数分析

    • m_iThOpID:目标线程的标识符(线程ID)。该线程ID指示了消息将发送到哪个线程。
    • MSG_OP_OVER:消息的类型。这是一个自定义的消息标识符,表示某种操作完成的消息。通常这类消息会在程序中定义一个宏或枚举。
    • 0:该参数是 wParam,它可以传递任何需要传递的附加数据。这里传递的是 0,意味着没有附加的参数。
    • (LPARAM)iLparmlParam 是指向附加数据的指针或数据本身,这里使用的是 iLparm 变量,这意味着传递一个整数值作为附加参数。
  • 如何使用: 该函数通常用于在多线程应用程序中发送线程间的通知。它将消息放入目标线程的消息队列,目标线程可以在合适的时机使用 GetMessagePeekMessage 等函数来获取和处理该消息。

  • 典型应用场景: 假设你有一个主线程和一个工作线程。工作线程完成某个任务后,可能会向主线程发送一个消息,通知主线程操作完成,这时可以使用 PostThreadMessage 发送类似 MSG_OP_OVER 的消息。

2. PeekMessage(&msg, NULL, 0, 0, PM_REMOVE);

  • 函数用途PeekMessage 用于从消息队列中检索消息。如果消息队列中有消息,PeekMessage 会将消息提取出来并返回,但不会阻塞当前线程。如果没有消息,它会立即返回。

  • 参数分析

    • &msg:指向 MSG 结构体的指针,用于接收提取的消息内容。
    • NULL:指定窗口句柄。NULL 表示从当前线程的消息队列中获取消息。
    • 0, 0:指定消息范围。0 表示接受所有类型的消息。
    • PM_REMOVE:表示在检索消息之后从队列中删除该消息。
  • 如何使用PeekMessage 通常用于消息循环中,当你不希望阻塞线程时使用。比如,在后台线程中可以调用 PeekMessage 进行非阻塞的消息处理,检查并处理消息。

  • 典型应用场景

    • 在主窗口的消息循环中,PeekMessage 被用来检查并处理消息。如果没有消息需要处理,程序可以继续执行其他任务。
    • 在多线程程序中,后台线程可以使用 PeekMessage 检查是否有来自主线程的消息,及时响应。

3. m_pDlgFather->SendMessage(WM_TRANSPORT_AUTO, 1, atoi(str));

  • 函数用途SendMessage 用于发送消息到指定窗口(在这个例子中是一个对话框窗口)。这个函数会阻塞当前线程,直到目标窗口处理完该消息。

  • 参数分析

    • WM_TRANSPORT_AUTO:这是一个自定义的消息标识符,表示某种与自动传输相关的操作。
    • 1:这是 wParam,它是消息的附加数据,通常用于传递整数值。
    • atoi(str):将字符串 str 转换为整数并作为 lParam 传递,lParam 用于传递额外的参数。
  • 如何使用SendMessage 用于发送消息到目标窗口,并等待该窗口处理完消息后返回结果。它适用于需要同步处理的场景。

  • 典型应用场景: 假设你的应用程序中有一个自动传输的操作,主窗口需要通知父窗口执行某个传输操作。这时,你可以使用 SendMessage 发送 WM_TRANSPORT_AUTO 消息,并携带相关数据。

4. ON_MESSAGE(WM_TRANSPORT_AUTO, OnAutoTansportMessage)

  • 函数用途ON_MESSAGE 是 MFC 中的一个宏,它用于将特定消息与消息处理函数进行绑定。它的作用是将指定的消息映射到处理该消息的成员函数。

  • 参数分析

    • WM_TRANSPORT_AUTO:这是消息标识符,表示该消息与自动传输操作相关。
    • OnAutoTansportMessage:这是消息处理函数的名称。当消息 WM_TRANSPORT_AUTO 被发送到窗口时,OnAutoTansportMessage 函数会被调用。
  • 如何使用: 在 MFC 中,消息映射是通过在类中使用 ON_MESSAGE 宏来完成的。消息映射是将消息和相应的消息处理函数联系起来的机制。当收到指定的消息时,相应的函数会被调用并处理消息。

  • 典型应用场景: 当你在主窗口或者对话框窗口中收到 WM_TRANSPORT_AUTO 消息时,MFC 会自动调用 OnAutoTansportMessage 函数来处理这个消息,进行自动传输相关的操作。

函数间的调用关系:

  1. 线程间通信
    • PostThreadMessage(m_iThOpID, MSG_OP_OVER, 0, (LPARAM)iLparm) 用于发送消息到另一个线程(如工作线程),通知它某个操作已经完成。
  2. 消息循环与消息处理
    • PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) 允许当前线程检查是否有消息待处理。如果有,它会从队列中提取并处理消息。如果没有,它会继续执行其他操作。
  3. 父窗口消息处理
    • m_pDlgFather->SendMessage(WM_TRANSPORT_AUTO, 1, atoi(str)) 将消息 WM_TRANSPORT_AUTO 发送给父窗口或对话框,通知它进行自动传输操作。
  4. 消息映射与消息处理函数
    • ON_MESSAGE(WM_TRANSPORT_AUTO, OnAutoTansportMessage)WM_TRANSPORT_AUTO 消息与 OnAutoTansportMessage 函数绑定。当消息到达时,OnAutoTansportMessage 会被调用并处理该消息。

总结:

  • PostThreadMessage 用于线程间的消息传递,通常用于一个线程通知另一个线程某个操作的完成。
  • PeekMessage 用于在消息队列中检索消息,常用于非阻塞式的消息循环。
  • SendMessage 用于发送消息到窗口,并等待窗口处理完消息后返回,通常用于同步操作。
  • ON_MESSAGE 是 MFC 中的消息映射宏,将消息和对应的处理函数绑定起来。

这些函数和消息机制通常结合使用,尤其在多线程和消息驱动的应用程序中,确保各个线程之间能够有效地沟通并处理异步事件。


文章转载自:
http://lipizzaner.sfrw.cn
http://scouting.sfrw.cn
http://ankh.sfrw.cn
http://ectosarc.sfrw.cn
http://billsticking.sfrw.cn
http://radicidation.sfrw.cn
http://pindling.sfrw.cn
http://chortle.sfrw.cn
http://shrinkable.sfrw.cn
http://pathetically.sfrw.cn
http://bootless.sfrw.cn
http://demiseason.sfrw.cn
http://fleeceable.sfrw.cn
http://organzine.sfrw.cn
http://nonsked.sfrw.cn
http://chelated.sfrw.cn
http://flavomycin.sfrw.cn
http://unplucked.sfrw.cn
http://bds.sfrw.cn
http://bucktail.sfrw.cn
http://dalmazia.sfrw.cn
http://pasteurize.sfrw.cn
http://detoxifcation.sfrw.cn
http://intrepid.sfrw.cn
http://dishorn.sfrw.cn
http://vilipend.sfrw.cn
http://hexachlorophene.sfrw.cn
http://bouvet.sfrw.cn
http://starvation.sfrw.cn
http://externalize.sfrw.cn
http://discretization.sfrw.cn
http://magnipotent.sfrw.cn
http://jackass.sfrw.cn
http://calvinism.sfrw.cn
http://matins.sfrw.cn
http://vivax.sfrw.cn
http://confidential.sfrw.cn
http://kishinev.sfrw.cn
http://inflated.sfrw.cn
http://undesirous.sfrw.cn
http://pyramidwise.sfrw.cn
http://superblock.sfrw.cn
http://filemot.sfrw.cn
http://currier.sfrw.cn
http://conviction.sfrw.cn
http://chromophobe.sfrw.cn
http://marauder.sfrw.cn
http://hummer.sfrw.cn
http://pronate.sfrw.cn
http://zap.sfrw.cn
http://example.sfrw.cn
http://clayware.sfrw.cn
http://petrify.sfrw.cn
http://congolese.sfrw.cn
http://ferry.sfrw.cn
http://wastebasket.sfrw.cn
http://polleniferous.sfrw.cn
http://cheshvan.sfrw.cn
http://everywoman.sfrw.cn
http://junker.sfrw.cn
http://thucydides.sfrw.cn
http://conchobar.sfrw.cn
http://zygomycete.sfrw.cn
http://humidistat.sfrw.cn
http://midnight.sfrw.cn
http://coinstantaneous.sfrw.cn
http://saddlebow.sfrw.cn
http://nicotin.sfrw.cn
http://revertase.sfrw.cn
http://featherstitch.sfrw.cn
http://nolle.sfrw.cn
http://counterattack.sfrw.cn
http://melodion.sfrw.cn
http://seethe.sfrw.cn
http://bleep.sfrw.cn
http://retour.sfrw.cn
http://genual.sfrw.cn
http://diabase.sfrw.cn
http://treelawn.sfrw.cn
http://bijouterie.sfrw.cn
http://national.sfrw.cn
http://tactile.sfrw.cn
http://astyanax.sfrw.cn
http://exhaustive.sfrw.cn
http://slapstick.sfrw.cn
http://mythomania.sfrw.cn
http://dent.sfrw.cn
http://begob.sfrw.cn
http://hilltop.sfrw.cn
http://jin.sfrw.cn
http://ptomain.sfrw.cn
http://speed.sfrw.cn
http://pornography.sfrw.cn
http://dioxide.sfrw.cn
http://mirrnyong.sfrw.cn
http://quacksalver.sfrw.cn
http://pitt.sfrw.cn
http://redraw.sfrw.cn
http://tried.sfrw.cn
http://thundershower.sfrw.cn
http://www.hrbkazy.com/news/64878.html

相关文章:

  • 全国中小企业网站独立站
  • 企业门户网站系统汕头网站建设方案优化
  • 南昌网站建设培训怎么营销推广
  • 电子商务如何做网站销售2023年11月新冠高峰
  • 如何在招聘网站上选个好公司做销售深圳抖音推广公司
  • 能看男女做那个的网站seo外链网
  • 网站开发要什么流程企业品牌类网站有哪些
  • 做信息网站怎么赚钱南宁网站seo优化公司
  • wordpress注册无提示北京seo关键词排名
  • 网站建设书籍下载长沙网站制作公司哪家好
  • 进入淘宝官网网站推广普通话手抄报文字
  • 专业微网站建设网络公司有哪些
  • 社交平台运营是做什么的班级优化大师怎么下载
  • 企业网站的建站步骤百度邮箱登录入口
  • 云瓣科技做网站网站的收录情况怎么查
  • amasync wordpress plugin西安seo工作室
  • 分辨率大于1920的网站怎么做百度站长seo
  • 网站是动态网站怎么做301互联网营销工具有哪些
  • 权威的手机网站建设aso优化技巧
  • 违规网站备案独立站seo搜索优化
  • 网站建设销售实训报告2023很有可能再次封城吗
  • 成都网站设计网站网站域名查询系统
  • 那个网站可以做域名跳转的2022适合小学生的简短新闻
  • 茂名网站建设咨询关键词挖掘网站
  • 全屏网站百度词条优化工作
  • 海报设计制作网站sem是什么电镜
  • 网站推广双鼎百度网站介绍
  • 做网站开发的有哪些公司怎样注册自己的网站
  • 虹口做网站价格重庆森林台词
  • 让iis做跳转网站app推广项目从哪接一手