1. 程式人生 > >如何編寫簡單的應用window視窗程式

如何編寫簡單的應用window視窗程式

#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
{
	HWND hwnd;
	MSG Msg;
	WNDCLASS wndclass;
	char lpszClassName[]="視窗";//視窗類名 
	char lpszTitle[]="My_Windows";//視窗標題名 
	//視窗類的定義 
	wndclass.style=0;// 視窗型別預設型別 
	wndclass.lpfnWndProc=WndProc;//視窗處理函式為WndProc 
	wndclass.cbClsExtra=0;//視窗類無擴充套件 
	wndclass.cbWndExtra=0;//視窗例項無擴充套件 
	wndclass.hInstance=hInstance;//當前例項控制代碼 
	wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//視窗的最小化圖示為預設圖示 
	wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//視窗採用箭頭游標 
	wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//視窗背景為白色 
	
	wndclass.lpszMenuName=NULL;//視窗中無選單 
	wndclass.lpszClassName=lpszClassName; //視窗類名為 “視窗示例 ” 
	//進行視窗類的註冊 
	if(!RegisterClass(&wndclass))//如果註冊失敗則發生警告聲音 
	{
		MessageBeep(0);
		return FALSE;
	}
	//建立視窗 
	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)
	{
		switch(message)
		{
			case WM_DESTROY:
			    PostQuitMessage(0);//呼叫PostQuitMessage 
			default://預設時採用系統訊息預設處理函式 
				return DefWindowProc(hwnd,message,wParam,lParam);
		}
		return 0;
	}