www.pudn.com > DlgScrSaver.rar > saverwnd.cpp


// saverwnd.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "collect.h" 
#include "DlgScrSaver.h" 
#include "drawwnd.h" 
#include "saverwnd.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char BASED_CODE THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CSaverWnd 
 
CSaverWnd::CSaverWnd() 
{ 
	m_ptLast = CPoint(-1, -1); 
	m_nPos = 0; 
	m_nStep = 1; 
} 
 
CSaverWnd::~CSaverWnd() 
{ 
} 
 
 
BEGIN_MESSAGE_MAP(CSaverWnd, CDrawWnd) 
	//{{AFX_MSG_MAP(CSaverWnd) 
	ON_WM_SYSCOMMAND() 
	ON_WM_DESTROY() 
	ON_WM_SETCURSOR() 
	ON_WM_NCACTIVATE() 
	ON_WM_ACTIVATE() 
	ON_WM_ACTIVATEAPP() 
	ON_WM_MOUSEMOVE() 
	ON_WM_LBUTTONDOWN() 
	ON_WM_MBUTTONDOWN() 
	ON_WM_RBUTTONDOWN() 
	ON_WM_KEYDOWN() 
	ON_WM_SYSKEYDOWN() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CSaverWnd message handlers 
 
BOOL CSaverWnd::Create()  
{ 
	CRect rect(0, 0, ::GetSystemMetrics(SM_CXSCREEN), 
		::GetSystemMetrics(SM_CYSCREEN)); 
 
	return CDrawWnd::Create(WS_EX_TOPMOST, WS_VISIBLE|WS_POPUP, rect, NULL,  
		0, NULL); 
} 
 
void CSaverWnd::OnSysCommand(UINT nID, LPARAM lParam)  
{ 
	if ((nID == SC_SCREENSAVE) || (nID == SC_CLOSE)) 
		return; 
	CDrawWnd::OnSysCommand(nID, lParam); 
} 
 
void CSaverWnd::OnDestroy()  
{ 
	PostQuitMessage(0); 
	CDrawWnd::OnDestroy(); 
} 
 
BOOL CSaverWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)  
{ 
	SetCursor(NULL); 
	return TRUE; 
} 
 
BOOL CSaverWnd::OnNcActivate(BOOL bActive)  
{ 
	if (!bActive) 
		return FALSE; 
	return CDrawWnd::OnNcActivate(bActive); 
} 
 
void CSaverWnd::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)  
{ 
	if (nState == WA_INACTIVE) 
		PostMessage(WM_CLOSE); 
	CDrawWnd::OnActivate(nState, pWndOther, bMinimized); 
} 
 
void CSaverWnd::OnActivateApp(BOOL bActive, HTASK hTask)  
{ 
	if (!bActive) 
		PostMessage(WM_CLOSE); 
	CDrawWnd::OnActivateApp(bActive, hTask); 
} 
 
void CSaverWnd::OnMouseMove(UINT nFlags, CPoint point)  
{ 
	if (m_ptLast == CPoint(-1,-1)) 
		m_ptLast = point; 
	else if (m_ptLast != point) 
		PostMessage(WM_CLOSE); 
	CDrawWnd::OnMouseMove(nFlags, point); 
} 
 
void CSaverWnd::OnLButtonDown(UINT nFlags, CPoint point)  
{ 
	PostMessage(WM_CLOSE); 
	CDrawWnd::OnLButtonDown(nFlags, point); 
} 
 
void CSaverWnd::OnMButtonDown(UINT nFlags, CPoint point)  
{ 
	PostMessage(WM_CLOSE); 
	CDrawWnd::OnMButtonDown(nFlags, point); 
} 
 
void CSaverWnd::OnRButtonDown(UINT nFlags, CPoint point)  
{ 
	PostMessage(WM_CLOSE); 
	CDrawWnd::OnRButtonDown(nFlags, point); 
} 
 
void CSaverWnd::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)  
{ 
	PostMessage(WM_CLOSE); 
	CDrawWnd::OnKeyDown(nChar, nRepCnt, nFlags); 
} 
 
void CSaverWnd::OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)  
{ 
	PostMessage(WM_CLOSE); 
	CDrawWnd::OnSysKeyDown(nChar, nRepCnt, nFlags); 
}