zoukankan      html  css  js  c++  java
  • MFC学习笔记——线程中控制窗口内容 .

    简单概要

    前一篇的文章中写到了使用MFC的自定义消息,那个例子过于简单,今天就写一个比较实用而且用的地方也很多的例子。

    预备知识

    你得知道什么是 消息机制 ,或者你读了我前面上次的文章。

    具体步骤

    新建一个工程,名称为“ThreadControlUi”,使用 Unicode 编码。具体界面可以如下:

    然后按照上一篇文章所写的方法添加一个 WM_CHENGE_EDIT_TEXT 消息(记得在.h文件添加消息ID)。

    然后为消息添加如下代码:

    1. //------------------------------------------------------------------------------   
    2. // 函数命名:  CThreadControlUiDlg::OnChengeEditText   
    3. // 返回类型:  LRESULT   
    4. //------------------------------------------------------------------------------   
    5. // 参数信息:  WPARAM wParam 这个参数用来接收传入的字符   
    6. // 参数信息:  LPARAM lParam 保留参数   
    7. // 函数备注:    
    8. //------------------------------------------------------------------------------   
    9. afx_msg LRESULT CThreadControlUiDlg::OnChengeEditText(WPARAM wParam, LPARAM lParam)  
    10. {  
    11.     // 将WPARAM的参数强制转换为CString类型   
    12.     CString* strEdit = (CString*)wParam;  
    13.   
    14.     // 将字符串设置到控件中   
    15.     SetDlgItemText(IDC_EDIT1,*strEdit);  
    16.   
    17.     return 0;  
    18. }  
    添加完消息代码之后再给“按钮”添加代码:


    1. void thread_proc(LPVOID lpVoid)  
    2. {  
    3.     CString strEdit;  
    4.   
    5.     for (int i = 0; i < 10 ; i++)  
    6.     {  
    7.         strEdit.Format( _T("我是在线程里哦~ ( ̄. ̄),现在值为:%d"),i);  
    8.   
    9.         // 在线程中向主窗口发送自己的消息   
    10.         SendMessage(  
    11.             AfxGetApp()->GetMainWnd()->GetSafeHwnd(), // 获得主窗口在句柄   
    12.             WM_CHENGE_EDIT_TEXT,  // 发送自己的窗口消息   
    13.             (WPARAM)&strEdit,     // 设置发送的内容   
    14.             NULL);                // 预留参数为空   
    15.   
    16.         Sleep(500);               // 使线程延时500毫秒,为了看清界面的数字变化   
    17.     }  
    18.   
    19. }  
    20.   
    21. void CThreadControlUiDlg::OnBnClickedButton1()  
    22. {  
    23.     // 创建一个新的线程   
    24.     CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)thread_proc,NULL,NULL,NULL);  
    25. }  
    这样我们的程序就算完成了。编译一下吧。

    总结拓展

    其实消息的用处是很广的,不值是在这里可以体现!

    事例下载


    下载地址:点击下载
  • 相关阅读:
    request转换为java bean
    idea中快捷键
    idea中Terminal显示中文乱码
    idea解决tomcat控制台中文乱码问题
    需要看的url
    常用网站
    反射
    5、运算符
    4、变量
    2、Hello Word讲解
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589121.html
Copyright © 2011-2022 走看看