📄 waitdlg.cpp
字号:
// WaitDlg.cpp : implementation file
//
#include "stdafx.h"
#include "RSet.h"
#include "WaitDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern HWND g_hWaitWnd;
/////////////////////////////////////////////////////////////////////////////
// CWaitDlg dialog
CWaitDlg::CWaitDlg(CWnd* pParent /*=NULL*/)
: CDialog(CWaitDlg::IDD, pParent)
{
// 记录该对话框
m_pThread=0;
m_pDoc=0;
//{{AFX_DATA_INIT(CWaitDlg)
m_strStrToShow = _T("正在处理,请稍候...");
//}}AFX_DATA_INIT
}
CWaitDlg::CWaitDlg(CDocument* pDoc)
{
m_pDoc=pDoc;
m_strStrToShow = _T("正在处理,请稍候...");
}
void CWaitDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CWaitDlg)
DDX_Text(pDX, IDC_STRING, m_strStrToShow);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CWaitDlg, CDialog)
//{{AFX_MSG_MAP(CWaitDlg)
ON_BN_CLICKED(ID_KILL, OnKill)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWaitDlg message handlers
int CWaitDlg::DoModal()
{
// ((CRSetApp*)AfxGetApp())->g_hWnd=m_hWnd;
// return CWaitDlg::DoModal();
return CDialog::DoModal();
}
void CWaitDlg::OnKill()
{
if(m_pThread != 0)
{
m_pThread->SuspendThread();
if(MessageBox("你要终止算法的运行吗?这样可能产生不可预料的后果!","",MB_YESNO|MB_ICONSTOP)
==IDYES)
{
::TerminateThread(m_pThread->m_hThread,-1);
if(m_pDoc!=0) // not a module dialog
DestroyWindow(); // close wait dlalog
else
CDialog::OnCancel();
}
else
m_pThread->ResumeThread();
}
else
{
if(m_pDoc!=0) // not a module dialog
DestroyWindow(); // close wait dlalog
else
CDialog::OnCancel();
}
}
BOOL CWaitDlg::OnInitDialog()
{
CDialog::OnInitDialog();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CWaitDlg::ShowString(LPCTSTR str)
{
m_strStrToShow=str;
UpdateData(false);
}
BOOL CWaitDlg::Create()
{
return CDialog::Create(IDD, NULL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -