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

📄 backgroundwnd.cpp

📁 WinCE开发技巧与实例的配套源码(chapter2)
💻 CPP
字号:
// BackgroundWnd.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "BackgroundWnd.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBackgroundWnd

#define STEP_TIME 200
#define ID_BACKGROUND_TIMER 1002

LPCTSTR WINDOW_MESSAGE_KEY = TEXT("MyWindowMessageKey");
LPCTSTR WINDOW_TITLE = TEXT("MyWindowTitle");

CBackgroundWnd::CBackgroundWnd()
	: m_bInProcess(FALSE)
{
	m_nMessage = RegisterWindowMessage(WINDOW_MESSAGE_KEY);
}

CBackgroundWnd::~CBackgroundWnd()
{
}


BEGIN_MESSAGE_MAP(CBackgroundWnd, CWnd)
	//{{AFX_MSG_MAP(CBackgroundWnd)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CBackgroundWnd message handlers

LRESULT CBackgroundWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{

	if (message==m_nMessage) {
		m_bInProcess = TRUE;
		m_bInProcess = FALSE;
		OnMessage(wParam, lParam);
	}

	return CWnd::WindowProc(message, wParam, lParam);
}

void CBackgroundWnd::Create()
{
	CString strParentClass = AfxRegisterWndClass(0);
	CWnd::CreateEx(0, strParentClass, WINDOW_TITLE, 0, -1, -1, 0, 0, 0, 0);
	SetTimer(ID_BACKGROUND_TIMER, STEP_TIME, NULL);
}

void CBackgroundWnd::OnTimer(UINT nIDEvent) 
{
	if (nIDEvent==ID_BACKGROUND_TIMER) {
		if (!m_bInProcess) {
			m_bInProcess = TRUE;
			RunSlice();
			m_bInProcess = FALSE;
		}
	}
	
	CWnd::OnTimer(nIDEvent);
}



void CBackgroundWnd::RunSlice() {
	// 在此添加后台工作,比如说写日志文件等


			MessageBeep(MB_OK);
}
void CBackgroundWnd::OnMessage(WPARAM wParam, LPARAM lParam)
{
	::MessageBox(NULL, TEXT("Message has been received!"), TEXT("Message from background"), MB_OK);
}

⌨️ 快捷键说明

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