创建按钮一般是在 WM_CREATE消息的响应中创建子窗口 创建控件 创建按钮,创建单选框,复选框 等等

按钮的创建:

创建按钮第一个参数(类名)必须是 button 不区分大小写

case WM_CREATE:
{
	CreateWindow("button", "窗口标题", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 15, 5, 100, 50, hwnd, (HMENU)111, ((LPCREATESTRUCT)LParam)->hInstance, NULL);
	CreateWindow("button", "窗口标题", WS_CHILD | WS_VISIBLE | BS_FLAT, 15, 100, 100, 50, hwnd, (HMENU)111, ((LPCREATESTRUCT)LParam)->hInstance, NULL);
	CreateWindow("button", "窗口标题", WS_CHILD | WS_VISIBLE | BS_PUSHLIKE, 15, 200, 100, 50, hwnd, (HMENU)111, ((LPCREATESTRUCT)LParam)->hInstance, NULL);
	break;
}

事件的响应:

按钮控件会向父窗口发送命令消息WM_COMMAND:

BN_CLICKED:用户在按钮上单击鼠标时会向父窗口发送BN_CLICKED消息

BN_DOUBLECLICKED:双击鼠标时会向父窗口发送BN_DOUBLECLICKED消息

//以下是窗口过程其中一个分支
case WM_COMMAND:
{
	WORD id = LOWORD(wParam);//控件id
	WORD code = HIWORD(wParam);//事件,是双击还是单击还是....
	HWND hCtrl = (HWND)LParam;
	if (id==1001 && code==BN_CLICKED) //控件id=1001 且 事件=单击
	{
		MessageBox(hwnd, "按钮1被单击", "提示", MB_OK);
	}
	else if (id == 1002 && code == BN_CLICKED)
	{
		MessageBox(hwnd, "按钮2被单击", "提示", MB_OK);
	}
	else if (id == 1003)
	{	
		if (SendMessage(hCtrl, BM_GETCHECK, 0, 0)==BST_CHECKED)
		{
			MessageBox(hwnd, "复选框被选中", "提示", MB_OK);
		}
		else
		{
			MessageBox(hwnd, "复选框未选中", "提示", MB_OK);
		}
	}
	break;
}


相关推荐

wIndowsapI 高频窗口控件函数: 操作控件 创建 取句柄 取标题 取文本 置标题 置文本

Win32API提供了一系列的函数来操作控件高频常用控件函数:类型说明GetDlgItem根据控件ID,取控件句柄GetDlgItemText根据控件ID,取控件文本GetDlgItemInt根据控件

wIndowsapI创建窗口 创建 标准控件

窗口的创建参考 http://qingzhouquanzi.com/269.html以下是windows 创建编辑框,文本框,标签,组合框,滚动条等头文件#include <windows.h&

wIndowsapI控件:创建超级列表框

超级列表框的类名是 WC_LISTVIEW样式是 LVS_ 开头的LVS_ICON图标视图LVS_SMALLICON小图标视图LVS_LIST列表视图LVS_REPORT报表视图可以向控件发送LVM_

wIndowsapI 窗口子类化

什么是子类化?窗口子类化的目的是在不修改现有代码的前提下,扩展现有窗口、控件的功能。它的思路很简单,就是将窗口过程地址修改为一个新函数地址,新的窗口过程函数处理自己感兴趣的消息,将不感兴趣的消息丢给原

wIndowsapI:公共控件

Windows中 分为标准控件 和 公共控件标准控件包括:标签,按钮,编辑框,组合框,滚动条,公共控件包括:动画框,日期框,热键框,日历,超级列表框,进度条,超链接,测量条,树形框,分页控件,工具条,

C++ apI创建窗口控件 包括窗口过程的写

//纯API创建窗口 底层代码 #include <windows.h> //如果出现该符号在函数中被引用需要配置:项目-》属性->配置属性->连接器=》系统 子系统 设

MFC(1):c语言/c++ apI 创建窗口 底层原理

Visual Studio直接创建一个空项目控件的创建请参考:http://qingzhouquanzi.com/287.html新建一个 后缀为 .c 或者 .cpp文件#include <w

c++控件: apI创建按钮 按钮美化

第一步,按钮的创建:普通按钮创建方式HWND Hbut1 = CreateWindow("button", "按钮1", WS_CHILD | WS_VISIB

html 弹出对话框 dIV模拟对话框小窗口原生js代码 弹出子窗口

关键是还可以拖动 查看演示代码1(最简单的拖动原理):<div id='box' style="position:absolute;width:100px;height

MFC(02):手动使用MFC库 创建窗口

新建一个 .h 头文件#include <afxwin.h> /*MFC使用的头文件*/ //CWinApp应用程序类 class MyApp :public CWinApp{