SOUI 多线程界面更新问题

从接触soui 到项目的基本功能开发完毕,大概有一个月的时间。SOUI基本介绍http://www.cnblogs.com/setoutsoft/p/3903677.html,所以的界面均通过xml布局实现,类似android 。

在开发到一般的时候,遇到最头疼的问题是在子线程中收到消息,更新UI崩溃问题,没有接触过windows 编程,困惑两天之后,终于在SOUI使用者热心的指导下,才明白windows 桌面开发,子线程是不能更新UI的,必须在主线程中。

    借用网友L.K的伪代码,简单的描述SOUI中多线程更新界面界面

char *p = new char[32];
BOOL bResult = PostMessage(m_pMainDlg->m_hWnd, WM_USER + 0X1001, (WPARAM)p, NULL);
if(!bResult)
{
  delete [] p;
  p = NULL;
}
onMessage(UINT wMsg, WPARAM wParam, LPARAM lParam){
  char* p = (char*)wParam;
  //这里插入更新soui界面的代码
  delete [] p;
  p = NULL;
}

   非常感谢SOUI 作者辛苦劳作,祝愿SOUI越来越完善,功能越来越强大。

你可能感兴趣的:(SOUI 多线程界面更新问题)