16,472
社区成员
发帖
与我相关
我的任务
分享
DWORD __stdcall CGuardDataBackDlg::CopyMilkThread(LPVOID lParam)
{
WaitForSingleObject(hEvent, INFINITE);
CGuardDataBackDlg *pMainDlg = (CGuardDataBackDlg *)lParam;
::SendMessage(pMainDlg->m_hWnd,WM_CURSOR_STATE,1,0);
............//省略中间的操作..操作中有个弹出和关闭一个非模态对话框的操作.其它大部分为ado的数据库操作
::SendMessage(pMainDlg->m_hWnd,WM_CURSOR_STATE,0,0);
SetEvent(hEvent);
return 0;
}
LONG CGuardDataBackDlg::SetCursorState(WPARAM wParam, LPARAM lParam)
{
int nState = (int)wParam;
if(nState == 1)
{
m_bCurState = TRUE;
SetCapture();
BeginWaitCursor();
}
if(nState == 0)
{
m_bCurState = FALSE;
EndWaitCursor();
ReleaseCapture();
}
return 0;
}
LONG CGuardDataBackDlg::SetCursorState(WPARAM wParam, LPARAM lParam)
{
m_Flag = (BOOL)wParam;
return 0;
}
BOOL CGuardDataBackDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if (m_Flag)
{
SetCursor(LoadCursor(NULL, IDC_WAIT));
return TRUE;
}
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}