hur.cn - 华软网

 热门搜索

请问如何子窗口刷新父窗口的数据

  作者:未知    来源:网络    更新时间:2011/6/2
在基于FORMVIEW中的主界面有一变量用于采集外部信号ht.点基button.弹出DLG,用于显示ht的数据,现在能正常获取当点击BUTTON瞬间ht的值,担是当主界面的ht值改变时,DLG中的显示数据无法刷新,请问有什么方法实现么,赋上代码

void CLztfView::OnButtonck1() 
{

 CCangKu1Dlg cangku1;
  cangku1.DoModal();
}


BOOL CCangKu1Dlg::OnInitDialog() 
{   

 CMainFrame* frm=(CMainFrame*)AfxGetApp()->m_pMainWnd; 
 CLztfView* pView=(CLztfView*)frm->GetActiveView(); 
 tt_1=pView->tt;

 
CString temp;

 if (tt_1>=0&&tt_1<=2000)
  {
  temp.Format("%0.1f",tt_1/10.0);
  }
  if(tt_1==32767||tt_1==32512)

 {
 temp.Format("超量程");

 }
  if (tt_1>32767)
 {
 temp.Format("%0.1f",(tt_1-65536)/10.0);
 }
 m_RXDataA1=temp;
UpdateData(FALSE);


return TRUE;  
}

---华软 网友回答---
你的主窗口数据变化的时候,可以直接发消息通知子窗口(或者直接调用一个子窗口的函数),让它去重新获取啊

---华软网友回复---
发消息吧
---华软网友回复---
父窗口消息改变时就可发送消息给与它相关的子窗口
可以参考广播模式
---华软网友回复---
引用 1 楼 king_hhuang 的回复:
你的主窗口数据变化的时候,可以直接发消息通知子窗口(或者直接调用一个子窗口的函数),让它去重新获取啊



请问数据变化时应该发什么消息到子窗口
---华软网友回复---
引用 3 楼 zyrr159487 的回复:
父窗口消息改变时就可发送消息给与它相关的子窗口
可以参考广播模式



我的ht值是秒1秒从串口读的数据,可不可以理解为当串口有数据时候,接收到WM_ONCOMM消息时候,发消息到子窗口么
---华软网友回复---
引用 5 楼 golfwk597 的回复:
引用 3 楼 zyrr159487 的回复:
父窗口消息改变时就可发送消息给与它相关的子窗口
可以参考广播模式



我的ht值是秒1秒从串口读的数据,可不可以理解为当串口有数据时候,接收到WM_ONCOMM消息时候,发消息到子窗口么

可以自定义消息,然后在子窗口判断下接收到的消息即可
---华软网友回复---
引用 6 楼 zyrr159487 的回复:
引用 5 楼 golfwk597 的回复:
引用 3 楼 zyrr159487 的回复:
父窗口消息改变时就可发送消息给与它相关的子窗口
可以参考广播模式



我的ht值是秒1秒从串口读的数据,可不可以理解为当串口有数据时候,接收到WM_ONCOMM消息时候,发消息到子窗口么

可以自定义消息,然后在子窗口判断下接收到的消息即可



请问数据变化时(比如ht变化),定义什么消息呢。。新手,蛮多地方不懂的。
---华软网友回复---
随便定义一个宏就好了...
然后PostMessage
---华软网友回复---
GetParent()->Invalidate
---华软网友回复---
谢谢。搞定了,还是用了比较笨的方法,在DLG类中用定时期去刷新数据。。新手。。见笑了!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。