⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operationtool.cpp

📁 采用文档类方法实现的一种串口通讯协议。可以借鉴参考
💻 CPP
字号:
// OperationTool.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "OperationTool.h"
#include "OperationToolDlg.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// COperationToolApp

BEGIN_MESSAGE_MAP(COperationToolApp, CWinApp)
	//{{AFX_MSG_MAP(COperationToolApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COperationToolApp construction

COperationToolApp::COperationToolApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only COperationToolApp object

COperationToolApp theApp;

/////////////////////////////////////////////////////////////////////////////
// COperationToolApp initialization

BOOL COperationToolApp::InitInstance()
{

	HANDLE m_hMutex = CreateMutex(NULL,TRUE,m_pszAppName);
	if (GetLastError()==ERROR_ALREADY_EXISTS)
	{
		return FALSE;
	}

	AfxEnableControlContainer();	

	AfxInitRichEdit();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif
	
	COperationToolDlg dlg;
	m_pMainWnd = &dlg;

	if(NULL == &m_CPrsProgressWnd)
	{
		return (FALSE);	
	}
	m_CPrsProgressWnd.Create(m_pMainWnd, "TypeIII Utility", TRUE);
	
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}


//progress bar window related method
void COperationToolApp::mf_ShowWaitDialog(int I_nRange /*= 100*/, int I_nMode /* = 0*/, CString I_strTotal /*= ""*/, CString I_StrPrompt /*= ""*/)
{
	if(NULL != &m_CPrsProgressWnd)
	{
		m_CPrsProgressWnd.Clear();
		m_CPrsProgressWnd.SetRange(0, I_nRange);
		CString strPrompt = _T("");
		strPrompt = I_StrPrompt;

	//	strPrompt += "Try dragging it around or hitting Cancel.";

		m_CPrsProgressWnd.SetText(strPrompt);
		m_CPrsProgressWnd.SetCancelLabel("Cancel");
	//	CString strWaitPicFile = _T("");;
	//	strWaitPicFile = CPrsShareUtility::GetTemplateFileName(PrsS_FILETYPE_NONE);
	//	if(!strWaitPicFile.IsEmpty())
	//	{
	//		strWaitPicFile += PRS_STR_FILE_WAITGIF;
	//		m_CPrsProgressWnd.SetGIFInfo(strWaitPicFile);
	//	}

		m_CPrsProgressWnd.SetWindowTotal(I_strTotal);

		m_CPrsProgressWnd.SetWindowSize(4, 300);
		m_CPrsProgressWnd.Show();
	}
}

BOOL COperationToolApp::mf_SetPosWaitProgressBar(int I_nPos)
{
	BOOL bRet = TRUE;
	if(NULL != &m_CPrsProgressWnd)
	{
		m_CPrsProgressWnd.SetPos(I_nPos);
		m_CPrsProgressWnd.PeekAndPump();
		if (m_CPrsProgressWnd.Cancelled()) 
		{
			AfxMessageBox("Progress Cancelled");
			bRet = FALSE;
		}
	}
	return (bRet);
}

void COperationToolApp::mf_HideWaitDialog()
{
	m_CPrsProgressWnd.Clear(); // Clear text, reset bar
    m_CPrsProgressWnd.Hide();  // Hide window
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -