第一个C++窗口程序(Windows应用程序)

第一个C++窗口程序

//第一个C++窗口程序
//2020.10.15
#include<Windows.h>
#include<tchar.h>

static TCHAR szWindowClass[] = _T("WindowClass");
static TCHAR szTitle[] = _T("窗口程序");

//第五步:窗口函数中处理窗口消息
LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
	PAINTSTRUCT ps;
	HDC hdc;
	TCHAR greeting[] = _T("绘制了一行字显示在程序中!");
	
	switch (uMsg)
	{
	case WM_PAINT:
		hdc = BeginPaint(hWnd,&ps);
		TextOut(hdc,5,5,greeting,_tcslen(greeting));
		EndPaint(hWnd, &ps);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hWnd,uMsg,wParam,lParam);
		break;
	}
	return 0;
}


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) 
{
	//第一步:注册窗口类,指定窗口类的名称与窗口回调函数
	WNDCLASSEX wcex = {0};
	wcex.cbSize = sizeof(WNDCLASSEX);
	wcex.lpfnWndProc = WindowProc;
	wcex.lpszClassName = szWindowClass;

	if (!RegisterClassEx(&wcex)) {
		MessageBox(NULL,_T("注册窗口类失败"),_T("Tip"),NULL);
		return 1;
	}

	//第二步:创建窗口,指定注册窗口类,窗口标题,窗口的大小
	HWND hWnd = CreateWindow
	(
		szWindowClass,
		szTitle,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,CW_USEDEFAULT,
		500,300,
		NULL,
		NULL,
		hInstance,
		NULL
	);

	if (!hWnd) {
		MessageBox(NULL,_T("创建窗口失败!"),_T("Tip"),NULL);
		return 1;
	}

	//第三步:显示窗口
	ShowWindow(hWnd,nCmdShow);

	//第四步:开始消息循环
	MSG msg = {0};
	while (GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return (int)msg.wParam;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值