在别的函数或者线程函数里使用 PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)小收获

 这是我从使用 PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)给主框架发送消息来让主框架调用自身函数修改对话框上控件文本的小经验。因为出现的错误在网上找了很久没有找到解决办法,后来我自己解决了。所以很想在此分享下。

首先这个错误是这样的:主框架Cmainframe里有个响应消息函数,用来动态改变控件IDC_STATETEXT的文本的

LRESULT CMainFrame::SetStateText(WPARAM wParam, LPARAM lParam)
{
	int ctrID=(int)wParam;
	GetDlgItem(ctrID)->SetWindowText("why");//这里ctrID=IDC_STATETEXT
	return 0;
}


在另外的类函数里调用PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_STATE_TEXT,IDC_STATETEXT,0)给主框架发送消息来调用上面的函数修改控件文本

void CSRImageCtrl::GetImgFeatures(int et1,int dt2)
{
	//给主框架传递消息更新状态
	state_text="状态:正在转换为二值图像...";
	//::AfxGetMainWnd()->SendMessage(WM_STATE_TEXT,IDC_STATETEXT,0);
	PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_STATE_TEXT,IDC_STATETEXT,0);
}

<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值