MFC 在线程中通过PostMessage更新界面主线程
来源:互联网 发布:mysql 多个字段排序 编辑:程序博客网 时间:2024/05/22 16:40
转载自 http://www.cnblogs.com/greatverve/archive/2012/12/21/mfc-thread-CProgressCtrl.html
几个要点:
1.对话框中启动新线程。把句柄做参数传递。
2.线程类中定义静态函数,也可以在对话框类中定义个全局函数。
3.线程回调函数必须是静态,且以void*为参数。
4.定义自定义消息,线程类发送,对话框类响应。
CThread类
// Thread.h#pragma once#include <process.h>#include <Windows.h>#define WM_USER_MSG WM_USER + 1001class CThread{public: // 线程回调函数必须是全局函数 static void Run(void *ptr);public: CThread(void); ~CThread(void);};// Thread.cpp#include "StdAfx.h"#include "Thread.h"void CThread::Run( void *ptr ){ HWND hWnd = (HWND)ptr; for (int i=0;i<100;++i) { ::PostMessage(hWnd,WM_USER_MSG,WPARAM(i),LPARAM(0)); Sleep(100); } AfxMessageBox("完成"); ::PostMessage(hWnd,WM_USER_MSG,WPARAM(0),LPARAM(0)); _endthread();}CThread::CThread(void){}CThread::~CThread(void){}
// 消息映射ON_MESSAGE(WM_USER_MSG, &CThreadProgDlg::OnMsg)// OnInitDialogCProgressCtrl *prog = (CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);prog->SetRange(0,100);
void CThreadProgDlg::OnBnClickedOk(){ // TODO: 在此添加控件通知处理程序代码 _beginthread(&CThread::Run,0,this->GetSafeHwnd()); //CDialogEx::OnOK();}LRESULT CThreadProgDlg::OnMsg( WPARAM wp,LPARAM lp ){ CProgressCtrl *prog = (CProgressCtrl *)GetDlgItem(IDC_PROGRESS1); prog->SetPos((int)wp); return 1L;}
附件源码:http://download.csdn.net/detail/liubaoxyz/9634059
密码:blog.csdn.net/liubaoxyz
0 1
- MFC 在线程中通过PostMessage更新界面主线程
- 在分线程更新主线程的Ui界面方法
- Android中通过其他线程更新主线程UI
- Android中通过其他线程更新主线程UI
- Android中通过其他线程更新主线程U…
- MFC在子线程中关闭主线程对话框
- Android 在子线程中更新主线程UI
- iOS: 通过performSelectorOnMainThread在不同线程中更新界面
- iOS: 通过performSelectorOnMainThread在不同线程中更新界面
- 界面主线程,子线程更新主界面控件
- C#、Winform子线程更新界面主线程信息
- Android中在主线程与在子线程中更新UI的探索
- 在次线程中下载,在主线程更新的例子
- MFC Dialog工程中多线程使用PostMessage发送接收字符串消息并更新界面
- android 橘子汁 在子线程中更新主线程UI 困扰
- 在UI线程(主线程)外实现UI更新
- MFC多线程中主线程阻塞了子线程
- MFC利用线程更新界面
- 第四周项目3-单链表应用(1)
- Application版本更新
- nginx动静分离html 页面
- android中的获取坐标
- iOS10适配汇总
- MFC 在线程中通过PostMessage更新界面主线程
- 用link标签实现 shortcut icon(给网页标题前添加一个小图标favicon.ico)
- Android银联支付之AIDL的基本使用
- 静态绑定与动态绑定
- Mybatis插件原理分析(一)
- py2-3
- tcp/ip学习心得(2)
- MFC 字符(串)间的转换
- Git使用之路