VC++学习之建立窗口

#include <windows.h>
#include <string.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int _stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
	HWND hwnd;
	MSG	 msg;
	WNDCLASS WindowClass;
	LPCTSTR className,windowTitle;
	className="FirstNwWindow";
	windowTitle="NeuglsWorkStudio";

	if(!hPrevInstance){
		//not first run, to set the windows class
		WindowClass.style=NULL;
		WindowClass.cbClsExtra=0;
		WindowClass.cbWndExtra=0;
		WindowClass.hbrBackground=WHITE_BRUSH;
		WindowClass.hCursor=LoadCursor(hInstance,IDC_ARROW);
		WindowClass.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
		WindowClass.hInstance=hInstance;
		WindowClass.lpfnWndProc=WndProc;
		WindowClass.lpszClassName=className;
		WindowClass.lpszMenuName=NULL;

		RegisterClass(&WindowClass);
	}

	// start to create the window when registed the window class
	
	hwnd=CreateWindow(className,windowTitle,WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
	ShowWindow(hwnd,nShowCmd);
	UpdateWindow(hwnd);
	
	//process the message quenue
	while(GetMessage(&msg,NULL,NULL,NULL))
		DispatchMessage(&msg);
	return msg.wParam;
}

//window message process function 
	LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
	{
		switch(msg){
		case WM_DESTROY:
			PostQuitMessage(0);
			break;
		case WM_PAINT:
			HDC hdc;
			LPCTSTR text;
			text="NeuglsWorkStudio";
			hdc=GetDC(hwnd);
			TextOut(hdc,10,10,text,strlen(text));
			break;
		default:
			return DefWindowProc(hwnd,msg,wparam,lparam);
		}
		return NULL;
	}      

呵呵,据说VC入门很难,不过看过去好像不难,呵呵!

转载于:https://www.cnblogs.com/neugls/archive/2011/03/01/1967579.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值