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入门很难,不过看过去好像不难,呵呵!

你可能感兴趣的:(vc++)