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

📄 myapp.cpp

📁 Mouse Event API Programing
💻 CPP
字号:
#include "MyApp.h"

CMyApp::CMyApp()
: m_pStr1(NULL)
, m_pStr2(NULL)
, m_pStr3(NULL)
, m_pStr4(NULL)
{}

CMyApp::~CMyApp()
{
	delete[] m_pStr1;
	delete[] m_pStr2;
	delete[] m_pStr3;
	delete[] m_pStr4;
}

LRESULT CMyApp::MSGProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;	

	switch(nMsg)
	{
	case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);
		TextOut(hdc, 10, 10, m_pStr1, lstrlen(m_pStr1));
		TextOut(hdc, 10, 30, m_pStr2, lstrlen(m_pStr2));
		TextOut(hdc, 10, 50, m_pStr3, lstrlen(m_pStr3));
		TextOut(hdc, 10, 70, m_pStr4, lstrlen(m_pStr4));
		EndPaint(hWnd, &ps);
		break;

	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}

	return(DefWindowProc(hWnd, nMsg, wParam, lParam));
}

HRESULT CMyApp::MouseProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
	switch(nMsg)
	{
	case WM_LBUTTONDOWN:		
		m_nPos.x = LOWORD(lParam);
		m_nPos.y = HIWORD(lParam);
		m_bState = TRUE;
		break;

	case WM_LBUTTONUP:
		m_bState = FALSE;
		break;

	case WM_RBUTTONDOWN:
		break;

	case WM_RBUTTONUP:
		break;

	case WM_MBUTTONDOWN:
		break;

	case WM_MBUTTONUP:
		break;

	case WM_MOUSEMOVE:

		POINT Pos;

		m_pStr1 = new char[128];
		m_pStr2 = new char[128];
		m_pStr3 = new char[128];
		m_pStr4 = new char[128];

		m_nPos.x = LOWORD(lParam);
		m_nPos.y = HIWORD(lParam);

		wsprintf(m_pStr1, "WM_MOUSEMOVE : PosX : %d,   PosY : %d", m_nPos.x, m_nPos.y);

		GetCursorPos(&Pos);
		wsprintf(m_pStr2, "GetCursorPos         : PosX : %d,   PosY : %d", Pos.x, Pos.y);

		ScreenToClient(hWnd, &Pos);
		wsprintf(m_pStr3, "ScreenToClient       : PosX : %d,   PosY : %d", Pos.x, Pos.y);

		ClientToScreen(hWnd, &Pos);
		wsprintf(m_pStr4, "ClientToScreen       : PosX : %d,   PosY : %d", Pos.x, Pos.y);

		InvalidateRect(hWnd, NULL, TRUE);

		break;		
	}	

	return S_OK;
}

⌨️ 快捷键说明

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