博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Combo Box的简单使用(Win32)
阅读量:3698 次
发布时间:2019-05-21

本文共 2742 字,大约阅读时间需要 9 分钟。

Combo Box的简单使用(Win32)

2013年08月01日 ⁄ 综合 ⁄ 共 2405字 ⁄ 字号 小 中 大 ⁄ 评论关闭

 

一 Combo Box函数简单介绍

 

1 SendMessage函数向窗口发送消息

LRESULT SendMessage(

  HWND hWnd,     // handle to destination window

  UINT Msg,      // message

  WPARAM wParam, // first message parameter

  LPARAM lParam   // second message parameter

);

 

2 向Combo Box添加数据

HWND hWndComboBox = GetDlgItem(hWnd, IDC_COMBO1);

TCHAR szMessage[20] = "Hello";

SendMessage(hWndComboBox , CB_ADDRSTRING, 0, (LPARAM)szMessage);

 

3 向Combo Box插入数据

HWND hWndComboBox = GetDlgItem(hWnd, IDC_COMBO1);

TCHAR szMessage[20] = "World";

SendMessage(hWndComboBox , CB_INSERTRSTRING, 0, (LPARAM)szMessage);

 

4 向Combo Box删除数据

SendMessage(hWndComboBox, CB_DELETESTRING, 1, 0);    //删除第二项数据

 

5 清除Combo Box所有数据

SendMessage(hWndComboBox, CB_RESETCONTENT, 0, 0);

 

6 获取Combo Box数据项目的数量

UINT uCount;

uCount = SendMessage(hWndComboBox, CB_GETCOUNT, 0, 0):

 

7 获取Combo Box某项的值

TCHAR szMessage[200];

ZeroMessage(szMessage, sizeof(szMessage)):

SendMessage(hWndComboBox, CB_GETLBTEXT, 1, (LPARAM)szMessage);    //获取第二项的数据

MessageBox(NULL, szMessage, " ", MB_OK);

 

二 Combo Box简单使用

1 界面设计如下图

 

2 功能实现代码(建的是简单的Win32工程)

//ComboBox.cpp#include "stdafx.h"#include "resource.h"LRESULT CALLBACK Dialog(HWND, UINT, WPARAM, LPARAM);int APIENTRY WinMain(HINSTANCE hInstance,                     HINSTANCE hPrevInstance,                     LPSTR     lpCmdLine,                     int       nCmdShow){ 	// TODO: Place code here.	DialogBox(hInstance, (LPCTSTR)IDD_DIALOG1, NULL, (DLGPROC)Dialog);	return 0;}LRESULT CALLBACK Dialog(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam){	switch(uMessage)	{	case WM_INITDIALOG:		return TRUE;	case WM_COMMAND:		UINT uSender;		uSender = LOWORD(wParam);		HWND hWndComboBox;		hWndComboBox = GetDlgItem(hWnd, IDC_COMBO1);		TCHAR szBuff[200];		ZeroMemory(szBuff, sizeof(szBuff));		switch(uSender)		{		//CB_ADDSTRING是在最后添加数据		case IDC_BUTTON1:			GetDlgItemText(hWnd, IDC_EDIT1, szBuff, sizeof(szBuff));			SendMessage(hWndComboBox, CB_ADDSTRING, 0, (LPARAM)szBuff);			break;		//CB_ADDSTRING是在指定位置添加数据		case IDC_BUTTON2:			GetDlgItemText(hWnd, IDC_EDIT1, szBuff, sizeof(szBuff));			SendMessage(hWndComboBox, CB_INSERTSTRING, 0, (LPARAM)szBuff);			break;		case IDC_BUTTON3:			SendMessage(hWndComboBox, CB_RESETCONTENT, 0, 0);			break;		case IDC_BUTTON4:			UINT uCount;			uCount = SendMessage(hWndComboBox, CB_GETCOUNT, 0, 0);			SetDlgItemInt(hWnd, IDC_EDIT2, uCount, TRUE);			break;					case IDC_BUTTON5:			UINT uSelect;			uSelect = GetDlgItemInt(hWnd, IDC_EDIT2, NULL, TRUE);			SendMessage(hWndComboBox, CB_GETLBTEXT, uSelect, (LPARAM)szBuff);			MessageBox(hWnd, szBuff, "SHOW", MB_OK|MB_ICONINFORMATION);			break;		case IDOK:			EndDialog(hWnd, lParam);			break;		}		break;	case WM_CLOSE:		EndDialog(hWnd, lParam);		break;	}	return FALSE;}

转载地址:http://mdscn.baihongyu.com/

你可能感兴趣的文章
魔趣9上手体验(更新药丸版)(坚果pro2)
查看>>
原生谷歌人脸解锁启用
查看>>
完整谷歌服务的刷入
查看>>
数字三角形问题
查看>>
最长公共子序列问题
查看>>
递归的函数
查看>>
最长上升子序列
查看>>
上升子序列
查看>>
最长公共子序列
查看>>
小鑫去爬山
查看>>
安卓Q上手
查看>>
鬼吹灯之龙岭迷窟
查看>>
坚果pro2刷MIUI10
查看>>
坚果pro2救砖(文末包含900E的解决方法)
查看>>
setTimeout和setInterval执行时间问题
查看>>
mouse冒泡事件
查看>>
BFC及其作用
查看>>
对称加密和非对称加密
查看>>
常见的网站攻击
查看>>
HTTP1.0、HTTP2.0、HTTP3.0的革新
查看>>