vc环境下的窗口程序

vc6.0中,创建一个win32应用程序的步骤总结如下:

1、编写WinMain函数

2、设计窗口类(WNDCLASS)

3、注册窗口类

4、创建窗口

5、显示并更新窗口

6、编写消息循环

7、编写窗口过程函数


#include<windows.h>
#include<stdio.h>
LRESULT CALLBACK WndProc(HWND hMainWnd,UINT message,WPARAM wParam,LPARAM lparam);
char szClassName[]="windowscalss1";//窗口结构体名称
char szAppTitle[]="windows API";
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,INT nCmdShow)  //WinMain()函数定义
{
	HWND hMainWnd;//窗口句柄
	MSG msg;
	WNDCLASS myWC;
	if(!hPrevInstance)
	{
		myWC.style=CS_HREDRAW|CS_VREDRAW;
		myWC.lpfnWndProc=WndProc;//本窗口的消息处理函数
		myWC.cbClsExtra=0;
		myWC.cbWndExtra=0;
		myWC.hInstance=hInstance;//当前应用程序的实例句柄
		myWC.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口图标
		myWC.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口光标
		myWC.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景颜色
		myWC.lpszClassName=szClassName;
		myWC.lpszMenuName=NULL;
		RegisterClass(&myWC);//注册窗口
	}
	hMainWnd=CreateWindow(szClassName,szAppTitle,WS_OVERLAPPEDWINDOW,
			CW_USEDEFAULT,CW_USEDEFAULT,600,400,NULL,NULL,hInstance,NULL);
	ShowWindow(hMainWnd,SW_SHOWNORMAL);
	UpdateWindow(hMainWnd);
	while(GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hMainWnd,UINT message,WPARAM wParam,LPARAM lparam)//窗口函数的定义
{
	char messageleft[]="the left button";
	char messageright[]="the right button";
	switch(message)
	{
	case WM_CHAR:
		char szChar[20];
		sprintf(szChar,"char code is %c",wParam);
		MessageBox(hMainWnd,szChar,"char",0);
		break;
	case WM_RBUTTONDOWN:
		{
			MessageBox(GetFocus(),messageright,"RButtonPushDown",MB_OK|MB_ICONINFORMATION);
			break;	
		}
	case WM_LBUTTONDOWN:
		{
			MessageBox(GetFocus(),messageleft,"LButtonPushDown",MB_OK|MB_ICONINFORMATION);
			break;	
		}
	case WM_DESTROY:
		{
			PostQuitMessage(0);
			return 0;
		}
	default:
		break;
	}
	return DefWindowProc(hMainWnd,message,wParam,lparam);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值