为了账号安全,请及时绑定邮箱和手机立即绑定

请问MFC子线程函数里面如何调用View?

请问MFC子线程函数里面如何调用View?

GCT1015 2019-08-14 10:09:27
MFC子线程函数里面如何调用View
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

#defing WM_MYMSG WM_USER+100

::PoseMessage(窗口句柄,WM_MYMSG, ……)
::SendMessage(窗口句柄,WM_MYMSG, ……)

也可以在主窗口中/父窗口中开启一个定时器和一个消息List
定时器去读取消息List并调用对应函数,并从消息List中移除已经处理了的消息
子线程负责把消息添加到消息List就可以了

添加和删除消息时,互斥一下,锁一下消息List,保证同一时刻,只有一个线程操作


查看完整回答
反对 回复 2019-08-24
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

一种情况是加在OnInitDialog或者OnShowWindow里面,效果就是对话框显示出来的时候AddString()动作已经完成了。

另一种情况如果想在对话框显示出来以后延迟一定时间(不知道我有没有理解对)再添加文本,那就要略微复杂一点了,最简单的方法是用定时器,在OnInitDialog或者OnShowWindow里面SetTimer( 1 , 200 , NULL );
然后给对话框添加OnTimer消息,
OnTimer( UINT nIdEvent )
{
if(nIdEvent ==1 )
{
AddString()
KillTimer( 1 );
}
}
这样就实现了显示对话框以后再等200毫秒再添加了一行文本


查看完整回答
反对 回复 2019-08-24
?
慕村225694

TA贡献1880条经验 获得超4个赞

删除当前消息响应函数(View类的),重新在主框架窗口MainFrame建立消息响应函数。
新的响应函数中,通过以下几个函数获取MyView类指针,并画线。
GetActiveDocument
GetFirstViewPosition
GetNextView

 

查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 286 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号