利用消息的方式序列化操作是最好的方法,子线程可以将进度通过PostMessage的方法发给父线程的窗口,(一定要用PostMessage,不要用PostThreadMessage,这样才能保证收到。)父线程响应该消息,改变进度显示。OK?越是大型的应用,越应考虑用消息机制同步和传递数据,这是经验总结。
对话框的头文件中:
#define YOURMESSAGE WM_USER +1
在//}}AFX——
与DECLARE——MESSAGE——MAP()
之间加上
afx_msg LRESULT OnYourMessage(WPARAM
wParam ,LPARAM lParam);
然后在CPP中:
在BEGIN——MESSAGE_MAP()
中的//}}AFX_MSG_MAP
与EMD_MESSAGE_MAP()之间加上
ON_MESSAGE(YOURMESSAGE,OnYourMessage)
然后定义OnYourMessage()
然后就可以在你的线程中POSTMESSAGE()了