zoukankan      html  css  js  c++  java
  • vc如何自定义消息与在线程中向主窗体控件发送数据

    如何定义消息:
    
    1.定义消息:
    在对话框类的头文件中定义一个自定义消息
    #define WM_MY_MESSAGE WM_USER+100 
    
    
    
    2.在类中声明该消息的处理函数:
    在该类声明的内部的protected:下声明如:
    afx_msg LRESULT MyMessage(WPARAM wParam, LPARAM lParam);
    
    3.在类的消息映射表中加入映射项
    在该类的源文件的消息映射表中添加一条消息处理记录
    BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
    
    ......
    
    ON_MESSAGE(WM_MY_MESSAGE ,MyMessage)
    
    ......
    
    END_MESSAGE_MAP()
    
    4.在类的实现文件中添加该消息的处理函数
    添加一个消息处理函数,如:
    LRESULT CMyDialog::MyMessage(WPARAM wParam,LPARAM lParam)
    {
    ........//数据的处理 
    
    return 0;
    }
    
    
    
    5.调用SendMessage函数或是PostMesage函数给主窗体发消息,
    
    首先获取主窗体的句柄
    
    HWND hHwnd = GetSafeHwnd();
    
    然后再线程函数里面
    
    DWORD _stdcall ListenProc(LPVOID Param)
    
    {
    
    ............
    
    char *sendstr="需要发送的数据";
    
    PostMessage(hWnd,WM_MY_MESSAGE,(WPARAM)sendstr,0);
    ............
    
    return 0L;
    
    }

  • 相关阅读:
    android测试点汇总
    Java Web应用调优线程池
    大型网站架构技术一览
    如何用消息系统避免分布式事务
    VMware Tools安装
    Git
    构架分布式队列编程
    排序算法概述
    ThreadLocal使用和原理
    JVM常用参数配置
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318779.html
Copyright © 2011-2022 走看看