CmdWaitDlg.cpp
上传用户:pengminm
上传日期:2007-01-01
资源大小:30k
文件大小:1k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // cWaitDialog.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "WaitDialog.h"
  5. #include "CmdWaitDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // cWaitDialog
  13. IMPLEMENT_DYNCREATE(cWaitDialog, CCmdTarget)
  14. cWaitDialog::cWaitDialog()
  15. {
  16.    m_bShowCancelButton = false;
  17.    m_Text = "";
  18.    m_EventName = "";
  19. }
  20. cWaitDialog::~cWaitDialog()
  21. {
  22. }
  23. BEGIN_MESSAGE_MAP(cWaitDialog, CCmdTarget)
  24. //{{AFX_MSG_MAP(cWaitDialog)
  25. // NOTE - the ClassWizard will add and remove mapping macros here.
  26. //}}AFX_MSG_MAP
  27. END_MESSAGE_MAP()
  28. /////////////////////////////////////////////////////////////////////////////
  29. // cWaitDialog message handlers
  30. void cWaitDialog::Show()
  31. {
  32.    m_Event = CreateEvent(NULL, TRUE, FALSE, m_EventName);
  33.    m_Thread = (cWaitDlgThread *)AfxBeginThread(RUNTIME_CLASS(cWaitDlgThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
  34.    m_Thread->m_Eventname = m_EventName;
  35.    m_Thread->m_Text = m_Text;
  36.    m_Thread->m_bShowCancelButton = m_bShowCancelButton;
  37.    m_Thread->ResumeThread();
  38. }
  39. void cWaitDialog::Close()
  40. {
  41.    m_Thread->m_Event->SetEvent();
  42.    CloseHandle(m_Event);
  43. }