zoukankan      html  css  js  c++  java
  • 『原创』用C++开发WM应用系列(5)——接触ListBox控件

    用C++开发WM应用系列文章索引

    引言:

      在上一篇博文中,我们稍微的接触了一下关于屏幕旋转的处理,在上几篇博文中,我们接触了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按钮事件如下:

    Input按钮代码
    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在此谢过啦~嘿嘿。今天女朋友从老家回来,过会儿去机场了~~~~~这篇文章就先写到这里吧。

  • 相关阅读:
    Eureka 注册中心 简单搭建
    Eclipse properties.config.yml 配置文件中文编码问题。Eclipse 配置文件插件解决方案
    OracleDBConsole启动不了
    Codeforces Round #275(Div. 2)-C. Diverse Permutation
    Codeforces Round #275 (Div. 2)-B. Friends and Presents
    Codeforces Round #275 (Div. 2)-A. Counterexample
    NYOJ-106-背包问题
    NYOJ-71-独木舟上的旅行
    NYOJ-91-阶乘之和
    BestCoder Round#15 1002-Instruction
  • 原文地址:https://www.cnblogs.com/longqi293/p/1676778.html
Copyright © 2011-2022 走看看