消息的测试
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInst,
	LPSTR lpszCmdLine,
	int nCmdShow
)
{
	MSG Msg;
	HWND hwnd;
	WNDCLASS wndclass;
	char lpszClassName[] = "窗体";
	//是这个窗口的类名wndclass,不是窗口左上角的那个
	char lpszTitle[] = "My Window";
	HBRUSH hbrush;
	hbrush = CreateSolidBrush(RGB(0, 255, 0));//定义绿色画刷
	wndclass.style = 0;
	wndclass.lpfnWndProc = WndProc;
	wndclass.cbClsExtra = 0;
	wndclass.cbWndExtra = 0;
	wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
	wndclass.hbrBackground = hbrush;
	//空值背景颜色,可用自定义画刷来调,绿色背景
	wndclass.hInstance = hInstance;
	wndclass.lpszClassName = lpszClassName;
	wndclass.lpszMenuName = NULL;
	
	if (!RegisterClass(&wndclass)) {
		MessageBeep(0);
		return 0;
	}
	hwnd = CreateWindow(
		lpszClassName,
		lpszTitle,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		NULL,
		NULL,
		hInstance,
		NULL
	);
	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);
	while (GetMessage(&Msg, NULL, 0, 0))
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	HPEN hpen;
	HBRUSH hbrush;
	PAINTSTRUCT ps;
	switch (message)
	{
	case WM_PAINT:
		//每次窗口上都有,因为只要窗口动了,就发送WM_PAINT消息,
		hdc = BeginPaint(hwnd, &ps);
		hpen = CreatePen(PS_SOLID,10,RGB(255,0,0));
		hbrush = CreateSolidBrush(RGB(255, 0, 0));
		SelectObject(hdc, hpen);
		SelectObject(hdc, hbrush);
		MoveToEx(hdc,100, 100,NULL);
		LineTo(hdc, 200, 300);
		Arc(hdc, 200, 300, 500, 600, 340, 450, 489, 345);
		Pie(hdc, 444, 32, 89, 234, 234, 123, 43, 125);
		DeleteObject(hpen);
		DeleteObject(hbrush);
		EndPaint(hwnd, &ps);
		break;
	//case WM_LBUTTONDOWN:
		//按下鼠标左键
		//MessageBox(NULL, "FENGLEI", "FJFFJ", NULL);
		//break;
	case WM_RBUTTONDOWN:
		//按下鼠标右键
		MessageBox(NULL, "HAH", "FF", NULL);
		break;
	//case WM_MOUSEMOVE:
		//MessageBox(NULL, "鼠标移过","鼠标移过", NULL);
		//MessageBox(NULL, "HAH", "FF", NULL);
		//break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, message, wParam, lParam);
	}
	return 0;
}


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号