要在MFC中的线程更改状态栏的窗格文本,您可以使用以下步骤:
以下是一个简单的示例:
CWinThread* pThread = AfxBeginThread(RUNTIME_CLASS(CMyThread));
// 在新线程中
CWnd* pMainWnd = AfxGetMainWnd();
pMainWnd->PostMessage(WM_UPDATE_STATUS_BAR, 0, 0);
// 在主窗口的消息处理函数中
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if (message == WM_UPDATE_STATUS_BAR)
{
CStatusBarCtrl* pStatusBar = GetStatusBarCtrl();
pStatusBar->SetText("更改后的文本", 0, SBT_NOBORDERS);
return 0;
}
return CMDIFrameWndEx::WindowProc(message, wParam, lParam);
}
这样,您就可以在新线程中更改状态栏的窗格文本了。请注意,在使用PostMessage或SendMessage函数时,您需要确保在主线程中创建了CWinThread对象,并且在新线程中使用PostMessage或SendMessage函数发送消息。
领取专属 10元无门槛券
手把手带您无忧上云