`
sjk2013
  • 浏览: 2192527 次
文章分类
社区版块
存档分类
最新评论

API编程模版

 
阅读更多
#include <windows.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
	HWND hwnd;
	MSG Msg;
	WNDCLASS wndclass;
	char lpszClassName[]="窗口";
	char lpszTitle[]="我的第一个窗口程序";
	wndclass.style=CS_HREDRAW|CS_VREDRAW;
	wndclass.cbClsExtra=0;
	wndclass.cbWndExtra=0;
	wndclass.lpfnWndProc=WndProc;
	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))
	{
		MessageBox(NULL,TEXT("注册窗口类失败!"),lpszClassName,MB_ICONERROR);
		return 0;
	}
   
	hwnd=CreateWindow(
		 lpszClassName,  // pointer to registered class name
		lpszTitle, // pointer to window name
		WS_OVERLAPPEDWINDOW,        // window style
		CW_USEDEFAULT,                // horizontal position of window
		CW_USEDEFAULT,                // vertical position of window
		CW_USEDEFAULT,           // window width
		CW_USEDEFAULT,          // window height
		NULL,      // handle to parent or owner window
		NULL,          // handle to menu or child-window identifier
		hInstance,     // handle to application instance
		NULL        // pointer to window-creation data
		);

	ShowWindow(hwnd,iCmdShow);
	UpdateWindow(hwnd);

	while (GetMessage(&Msg,NULL,0,0)) {
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;


return 0 ;

}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
	switch(message) {
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd,message,wParam,lParam);
	}
	return 0;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics