上一节学习了创建按钮,下面我们来在窗口上创建复选框,并进行点击动作。
1,打开VC++6.0,点击 文件->打开工作空间 选择example1,点击确定,打开工程。
2,添加代码
首先定义全局变量
HWND button1,checkBox1,checkBox2;
int checkBoxValve;
更改回调函数如下
LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)//回调函数定义
{
	switch(uMsg)
	{
	case WM_CREATE:
		button1=CreateWindow("BUTTON","第一个按键",WS_VISIBLE|WS_CHILD|WS_BORDER|BS_PUSHBUTTON,10,10,100,30,hwnd,NULL,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建按键
		checkBox1=CreateWindow("BUTTON","第一个复选框",WS_VISIBLE|WS_CHILD|WS_BORDER|BS_AUTOCHECKBOX,10,50,150,30,hwnd,NULL,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建复选框
		checkBox2=CreateWindow("BUTTON","第二个复选框",WS_VISIBLE|WS_CHILD|WS_BORDER|BS_AUTOCHECKBOX,10,100,150,30,hwnd,NULL,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建复选框
		break;
	case WM_COMMAND:
		if((HWND)lParam==button1)//判断消息是否来自按键
		{
			MessageBox(NULL,"按键1按下","提示",MB_OK);//弹出提示窗体
		}
		if(((HWND)lParam) == checkBox1)
		{
			checkBoxValve=(int)SendMessage(checkBox1,BM_GETCHECK,0,0);
			if(checkBoxValve)
				MessageBox(NULL,"复选框1被选择","提示",MB_OK);//弹出提示窗体
			else
				MessageBox(NULL,"复选框1被取消选择","提示",MB_OK);//弹出提示窗体
		}
		if(((HWND)lParam) == checkBox2)
		{
			checkBoxValve=(int)SendMessage(checkBox2,BM_GETCHECK,0,0);
			if(checkBoxValve)
				MessageBox(NULL,"复选框2被选择","提示",MB_OK);//弹出提示窗体
			else
				MessageBox(NULL,"复选框2被取消选择","提示",MB_OK);//弹出提示窗体
		}
		break;
	case WM_DESTROY://关闭窗口是系统发送的消息
		PostQuitMessage(0);//发送退出消息GetMessage收到消息后将return 0,主函数退出消息循环
		break;
	default:
		return DefWindowProc(hwnd,uMsg,wParam,lParam);//不处理的消息交给系统处理。
	}
	return 0;
}
3,编译运行,按下按键试试,看看是否有响应
原文:http://www.cnblogs.com/xch565336686/p/6766793.html