如何编写简单的应用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;
	}	
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值