在线程中使用m_wndStatusBar.SetPaneText函数,编译通过,运行出错,调试发现运行到该语句时报错!
于是在网上查找资料发现:
因为MFC是线程安全的,所以再线程中调用该函数更新状态栏会出错。
于是使用API来实现:
::SendMessageA(pDlg->m_wndStatusBar.m_hWnd,SB_SETTEXT,0,(LPARAM)TEXT("检测到GigE Vision设备"));
或者
CString str = _T("检测到GigE Vision设备");
::SendMessageA(pDlg->m_wndStatusBar.m_hWnd,SB_SETTEXT,0,(LPARAM)LPCTSTR(str));
pDlg是对话框指针,获取方式: