Windows图形界面(GUI)-DLG-C/C++ - 组合框(ComboBox)

目录

控件类型

消息处理

示例代码


组合框(ComboBox)

控件类型

  • 下拉列表:用户可以点击下拉按钮查看列表并选择一个选项,但无法直接编辑文本框中的内容。

  • 简单组合框:用户可以直接在文本框中输入内容,也可以点击下拉按钮查看并选择列表中的选项。

消息处理

  • CBN_SELCHANGE:当用户从列表中选择一个新项时发送。

  • CBN_DROPDOWN:当下拉列表被展开时发送。

示例代码
	case WM_INITDIALOG:
	{
		HWND hComBox = GetDlgItem(hwnd, IDC_COMBO1);
		ComboBox_AddString(hComBox, TEXT("中国"));
		ComboBox_AddString(hComBox, TEXT("美国"));
		ComboBox_SetCurSel(hComBox, 0);
		return TRUE;
	}

	case WM_COMMAND:
	{
		switch (LOWORD(wParam))
		{
			case IDC_COMBO2:
			{
				if (HIWORD(wParam) == CBN_DROPDOWN)
				{
					HWND hComBox1 = GetDlgItem(hwnd, IDC_COMBO1);
					HWND hComBox2 = GetDlgItem(hwnd, IDC_COMBO2);
					TCHAR szBuffer[0xFF] = { 0 };
					ComboBox_GetText(hComBox1, szBuffer, 0xFF);
					ComboBox_ResetContent(hComBox2);

					if (wcscmp(szBuffer, TEXT("中国")) == 0)
					{
						ComboBox_AddString(hComBox2, TEXT("北京"));
						ComboBox_AddString(hComBox2, TEXT("上海"));
						ComboBox_AddString(hComBox2, TEXT("广州"));
						ComboBox_AddString(hComBox2, TEXT("深圳"));
					}
					else
					{
						ComboBox_AddString(hComBox2, TEXT("纽约"));
						ComboBox_AddString(hComBox2, TEXT("华盛顿"));
						ComboBox_AddString(hComBox2, TEXT("拉斯维加斯"));
						ComboBox_AddString(hComBox2, TEXT("西雅图"));
					}

				}
			}
		}
		
		return TRUE;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值