会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
  · 杀毒专区
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
技术文档 > VC文档 > MFC应用
多线程中MFC对象参数的传递
发表日期:2004-10-25 21:38:39作者:c 出处:CSDN  

今天应程序的需要,在下载数据的线程中,要对状态栏的文字进行更改,以便用来显示下载状态。我一开始这样写的程序:

void SetStatusText(CString str)
{

 CMainFrame* pFrame;
 pFrame=(CMainFrame*)AfxGetMainWnd();
 pFrame->m_wndStatusBar.SetPanlText(1,str);
}

实际发现这样子没法取得m_wndStatusBar的句柄,调式中m_wnd一直是?????或者0xffffff,所以一直没有成功。后来想到用SendMessage的办法

void SetStatusText(CString str)
{

 CMainFrame* pFrame;
 pFrame=(CMainFrame*)AfxGetMainWnd();
 pFrame->SendMessage(WM_SET_TEXT,(UINT)&str,0);

}
在CMainFrame中增加消息映射和处理函数

long CMainFrame::SetStatusText(UINT l,long p)
{
 CString* str=(CString*)l;
 m_wndStatusBar.SetPaneText(1,*str);
 return 0;
}

如此一来,一切搞定

 

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00187