『原创』用C++开发WM应用系列(5)——接触ListBox控件
引言:
在上一篇博文中,我们稍微的接触了一下关于屏幕旋转的处理,在上几篇博文中,我们接触了MFC的移动设备应用程序编程,学习了发送短信、拨打电话,以及CEDIT控件、按钮控件的使用。今天,我们来看看ListBox控件在MFC中的使用吧。
ListBox这个控件相信对于大部分普通运用程序,应该会用到,今天,我们要学习如何向一个ListBox中添加项(Item),以及如何清除ListBox中的项,当然,也顺带复习一下CEdit控件的使用。
正文:
首先,我们先建立一个c++的MFC智能设备应用程序,平台选择WM5即可,基于对话框吧。然后其他设置默认即可!
然后,我们在对话框上进行如下设置:
可以看到,我们需要拖放一个Cedit控件,一个Button控件(其Caption属性为Input),以及一个ListBox控件。他们的命名保持默认即可,然后,我们分别为CEdit控件和ListBox控件添加他们的控件变量(CEdit对应txtEdit,ListBox对应lb),如果你忘了如何添加,请参看这篇文章复习一下,然后我们再为Input按钮添加“事件处理程序”,程序的功能是这样的,我们在CEdit控件中输入一串字符,然后点击Input按钮,把这串字符添加到ListBox中。
所以,我们的Input按钮事件如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
void CMFCListDlg::OnBnClickedButton1()
{
CString textBoxInfo;//声明一个CString变量用于存放CEdit控件中的输入
txtEdit.GetWindowText(textBoxInfo);//把CEdit控件中的输入存放到变量中
lb.AddString(textBoxInfo);//把这个变量加入到ListBox中
}
这样,我们通过ListBox的AddString()函数,就轻松的完成了往ListBox中添加项的操作,然后,我们再来看看ListBox有什么事件,我注意到了一个DBLClk事件,貌似是左键双击,我们来试试,为ListBox添加事件处理程序,选择LBN_DBLCLK,如下图:
然后,往此事件的方法体中加入如下代码:
void CMFCListDlg::OnLbnDblclkList1()
{
lb.ResetContent();
}
也是很简单,我们就通过双击,清除了ListBox中的所有项~
下面是演示:
1、我们往CEdit控件中输入字符:
2、点击Input后,插入ListBox:
双击ListBox后,ListBox被清空~
后记:
现在,我们学会了基本的ListBox添加项AddString(),清除所有项ResetContent(),相信下一步,大家会继续研究如何清除选中项……等等有意思的操作,如果你研究出来了,请不要吝啬你的成果,在文后分享你的成果~Jack在此谢过啦~嘿嘿。今天女朋友从老家回来,过会儿去机场了~~~~~这篇文章就先写到这里吧。
出处:http://longqi293.cnblogs.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
![知识共享许可协议](http://i.creativecommons.org/l/by-nc-sa/2.5/cn/88x31.png)
本篇博文 by Jack Fan is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License.
这是我的公众号,【代码只是副业】