MFC COMBO-BOX最详细教程

找了好多,这是讲的最清楚的,与大家共享!

转:https://blog.csdn.net/fym0121/article/details/7515862

当你只需从一列对象中选出一个时,使用COMBO BOX是一个好主意,因为它节省空间。这篇文章讲述了如何使用COMBO BOX操作一列对象。

 

 

1、初始化COMBO BOX

我假设读者已经新建了一个对话框,并将一个COMBO BOX 拖放到这个对话框上。现在,右键那个COMBO BOX控件 --> 添加变量。类别选Control,类型是COMBOBOX,变量名我们输入m_cb1。

大家会发现,在我们项目的对话框类中,已经加入了CComboBox  m_cbExample;  的定义

如图1 所示,COMBO BOX有一个下拉列表,我们现在要把那些下拉的字符串添加到COMBO BOX中,即初始化COMBO BOX。初始化,我们放到对话框类的OnInitDialog函数中。CComboBox类的AddString方法,用于添加这些字符串。

 

[cpp] view plain copy

  1. BOOL CRRDlg::OnInitDialog()  //对话框的初始化,我的项目名叫RR  
  2. {  
  3.     CDialog::OnInitDialog();     
  4.     m_cb1.AddString(_T("Alice"));   //添加字符串  
  5.     m_cb1.AddString(_T("Bob"));  
  6.     m_cb1.AddString(_T("Charlie"));  
  7.     m_cb1.AddString(_T("David"));  
  8.     m_cb1.AddString(_T("Bob"));  
  9.   
  10.     m_cb1.SetCurSel(0);   //默认选择第一个  
  11. }  

 

2、检索COMBO BOX

 

 

初始化好了后,就该使用了,我们在图1 所示的下拉列表中选择一个,然后点击Button1,弹出一个框,告诉我们,刚才是选择了哪个。在IDE中,双击Button1,添加处理代码。

 

 

[cpp] view plain copy

  1. void CRRDlg::OnBnClickedButton1()  
  2. {  
  3.     // TODO: 在此添加控件通知处理程序代码  
  4.     UpdateData(TRUE);                       //这个函数的使用请参考数据交换UpdateData,那篇文章  
  5.     int index = m_cb1.GetCurSel();       //这个函数用于得到用户选择的是下拉列表中的第几行,第一行的话,返回0,依次类推  
  6.     CString strI;  
  7.     strI.Format(_T("%d"),index);  
  8.     CString strC;  
  9.     m_cb1.GetLBText(index,strC);        //根据行号,这个可以得到那行的字符串  
  10.     strC += strI;  
  11.     MessageBox(strC);  
  12.   
  13.     index = m_cb1.FindStringExact(0,_T("Bob"));    //检索下来列表中是否有Bob这个字符串  
  14.     if (CB_ERR != index)  
  15.     {  
  16.         strC.Format(_T("%d"),index);  
  17.         MessageBox(strC);  
  18.         m_cb1.DeleteString(index);    //如果有的话,删除  
  19.     }  
  20. }  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uboot源码——主Makefile的分析

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 参考博客:u-boot Makefile完全解读_williamwang2013的博客-CSDN博客 参考博客:U-boot主Makefile分析_XiaoBaWu的博客-CSDN博客 参考博客:U-boot配置及编译阶段…

Designing Virtual Connect for vSphere 5.x

Designing Virtual Connect for vSphere 5.x如何在 HP C7000刀笼使用VC以满足vSphere 5.x 英文视频连接如下:http://professionalvmware.com/2013/05/vbrownbag-follow-up-designing-virtual-connect-for-vsphere-with-joe-clark-elgwhoppo/1:首先介绍一…

latin1

Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。I…

Gnuplot 简单使用

一 、最简单的例子 gnuplot>plot sin(x) 其中 gnuplot> 为命令提示符,不是命令的一部分, 二 、加入设置 1 、设置 x 、y 坐标的范围 改变坐标范围 set xrange [xmin:xmax] set yrange [ymin:ymax] 让 gnuplot 决定坐标轴范围 gn…

C语言和C++的区别

c语言虽说经常和c在一起被大家提起,但可千万不要以为它们是一个东西。现在我们常用的C语言是C89标准,C是C99标准的。C89就是在1989年制定的标准,如今最新的是C11和C11标准。根据不同的标准,它们的功能也会有所不同,但是…

“返回指向栈空间的指针”的错误

char *GetMemory(void) {char p[] "hello world";return p;//试图返回一个指向栈空间的指针 }

VMware vCenter Converter 关闭SSL加密,提高35-40%性能

VMware vCenter Converter 关闭SSL加密,提高35-40%性能原文:http://www.vmwarearena.com/2013/07/improving-transfer-rate-of-p2v-and-v2v.htmlVMware vCenter Converter Standalone 5.0 is a free tool from VMware to easily perform P2V(Physical to virtual co…

以下题目需要当场编写实现,,答案自己写

以下题目需要当场编写实现 1、 写一个通用方法把任何一个类似“abcdefg”的字符串倒叙排。 2、 把字符数组String[] str{“6”,”5”,”3”,”1”,”2”,”4”}中的字符数字按照从小到大调整位置。  两种方法 3、 用杨辉三角规律打一个数字三角型。 4、 把List容器中的数字元…

迭代之嵌套的for循环

/*主要内容: 1.在嵌套表达式中使用类型的运算符。 2.嵌套的for循环。*/ #include<iostream> usingnamespace std; int main() { int i,k,j,m; for(i1;i<5;i2)//递增表达式使增量每次增加2. { for(j1;j<4;j) { kij; cout<<"i"<<i<<…

MFC中CFileDialog用法

CFileDialog文件选择对话框的使用&#xff1a;首先构造一个对象并提供相应的参数&#xff0c;构造函数原型如下&#xff1a; CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt NULL, LPCTSTR lpszFileName NULL, DWORD dwFlags OFN_HIDEREADONLY | OFN…

回文的判断代码

//写一函数int fun(char *p)判断一字符串是否为回文&#xff0c;是返回1&#xff0c;不是返回0&#xff0c;出错返回 - 1 int fun(char *p) {if (p NULL)return -1;else{int length 0;inti 0;int judge 1;length strlen(p);for (i 0; i<length / 2; i){if (p[i] ! p[…

Codeforces - 1194C - From S To T - 子序列 - 排序

https://codeforces.com/contest/1194/problem/C 好像没什么好说的&#xff0c;要能构造s必须是t的子序列&#xff0c;并且相差的字符集合d是p的子集。 用双指针法求两遍子序列就可以了&#xff0c;甚至不需要sort&#xff0c;假如用桶排的话就是O(qn)的。 下面这个错在哪里呢&…

如何在JS中改变Extjs combox 的值

Ext.getCmp(selectList).setValue(store.getAt(0).get(id));转载于:https://blog.51cto.com/owen563/1316856

图像拼接算法及实现

第一章 绪论 1.1 图像拼接技术的研究背景及研究意义 图像拼接(image mosaic)是一个日益流行的研究领域&#xff0c;他已经成为照相绘图学、计算机视觉、图像处理和计算机图形学研究中的热点。图像拼接解决的问题一般式&#xff0c;通过对齐一系列空间重叠的图像&#xff0c;构…

我的收藏

csdn www.csdn.net 高技术 www.iteye.com 上次买过的手机贴膜http://item.taobao.com/item.htm?id15873819314 www.oschina.com www.itpub.com 转载于:https://www.cnblogs.com/sure32121893/archive/2012/06/25/2560788.html

字符串循环右移的一道题目

void * loopmove_3(char *pstr, int steps) {int n strlen(pstr);//不包含\0steps % n;//移动的步数n - steps;if ((strlen(pstr)<1) || (steps 0)) {return(NULL); //表示没有操作}else {char *tmp malloc(strlen(pstr) 1);if (NULL ! tmp) {strcpy(tmp, pstr n);*(ps…

程序员,你还在 Select * 吗?

应用程序慢如牛&#xff0c;原因多多&#xff0c;可能是网络的原因、可能是系统架构的原因&#xff0c;还有可能是数据库的原因。 那么如何提高数据库SQL语句执行速度呢&#xff1f;有人会说性能调优是数据库管理员&#xff08;DBA&#xff09;的事&#xff0c;然而性能调优跟程…

学习笔记-记ActiveMQ学习摘录与心得(二)

上个周末被我玩过去了&#xff0c;罪过罪过&#xff0c;现在又是一个工作日过去啦&#xff0c;居然有些烦躁&#xff0c;估计这几天看的东西有点杂&#xff0c;晚上坐下来把自己首要工作任务总结总结。上篇学习博客讲了ActiveMQ的特性及安装部署&#xff0c;下面先把我以前启动…

matlab删除、创建文件夹

在某一目录下&#xff0c;创建名字为1、2、3、4、5的五个文件夹&#xff1a; for i1:5 file_name sprintf(%s,num2str(i)); file_path_name strcat(savepath,file_name); file_path_name_ strcat(file_path_name,\); if exist(file_path_name_)0 %该文件…

谈谈C#中的三个关键词new , virtual , override(装载 Winner.Net)

C#支持单继承&#xff0c;说到继承就不得不说new&#xff0c;virtual和override这三个关键词&#xff0c;灵活正确的使用这三个关键词&#xff0c;可以使程序结构更加清晰&#xff0c;代码重用性更高。 以下是msdn中对new&#xff0c;virtual和override的定义&#xff1a; …