从接触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越来越完善,功能越来越强大。
时间: 2024-10-12 21:05:17