我用VS2005 新建了一个MFC项目,在view类的OnInitialUpdate中
CreateThread(NULL,0,ThreadProc,AfxGetMainWnd(),0,NULL); 创建一个线程, 在该线程中设置状态栏窗格的文本 CMainFrame *pMainWnd=(CMainFrame *)lpParameter;//获得主框架指针 pMainWnd->m_wndStatusBar.SetPaneText(2,_T("ddd"));//每调试到这一行总会出错为什么不能设置窗格的文本, 求救!!!!!
CreateThread(NULL,0,ThreadProc,AfxGetMainWnd(),0,NULL); 创建一个线程, 在该线程中设置状态栏窗格的文本 CMainFrame *pMainWnd=(CMainFrame *)lpParameter;//获得主框架指针 pMainWnd->m_wndStatusBar.SetPaneText(2,_T("ddd"));//每调试到这一行总会出错为什么不能设置窗格的文本, 求救!!!!!
不在线程中调用能行吗
用
BOOL PostThreadMessage( DWORD idThread,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
给主线程发消息,再由主线程修改标题。
加锁是这样加吗
pMainWnd->m_wndStatusBar.LockWindowUpdate();
pMainWnd->m_wndStatusBar.SetPaneText(3,_T("dd"));
pMainWnd->m_wndStatusBar.UnlockWindowUpdate();
加了之后 还是一样报错
赶紧换用PostThreadMessage