精华内容
下载资源
问答
  • VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一、未卜先知 1、编译运行后,点击“学生档案信息”,界面如下图所示...

    VC6.0 MFC 列表框 列表控件 添加 修改 删除

    写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧!

    一、未卜先知

    1、编译运行后,点击“学生档案信息”,界面如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    2、添加记录,如下图所示。
    在这里插入图片描述
    3、修改记录,如下图所示。
    在这里插入图片描述
    4、删除记录,如下图所示。
    在这里插入图片描述
    二、实现步骤

    1、新建一个工程,如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    2、建立菜单,并给菜单做一个消息响应函数,如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    3、接下来在对话框中进行相应操作,具体步骤如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4、建立类向导,取类名“CDlgStuInfo”,如下图所示。
    在这里插入图片描述
    5、接下来,我们通过编程添加一些数据。首先在CdlgStuInfo中右击添加消息响应句柄,如下图所示。
    在这里插入图片描述
    6、在OnInitDialog() 中添加代码,如下。

    BOOL CDlgStuInfo::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    	// TODO: Add extra initialization here
    	DWORD dwStyle;
    	dwStyle = m_listCtrl.GetExtendedStyle();
    	dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES  | LVS_EX_ONECLICKACTIVATE;
    	m_listCtrl.SetExtendedStyle(dwStyle);
    	return TRUE;  // return TRUE unless you set the focus to a control
    	       // EXCEPTION: OCX Property Pages should return FALSE
    }
    

    记得要把头文件:#include "DlgStuInfo.h"对话框类嵌入进去!

    7、在OnMStuInfo()中添加代码,如下。

    void CChapterView::OnMStuInfo() 
    {
    	// TODO: Add your command handler code here
    	CDlgStuInfo dlg_stuInfo;
    	dlg_stuInfo.DoModal();
    }
    

    8、此时,运行结果如下图所示。
    在这里插入图片描述
    9、在第6步的基础上,继续往OnInitDialog() 中添加代码,如下。

    BOOL CDlgStuInfo::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    	// TODO: Add extra initialization here
    	DWORD dwStyle;
    	dwStyle = m_listCtrl.GetExtendedStyle();
    	dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES  | LVS_EX_ONECLICKACTIVATE;
    	m_listCtrl.SetExtendedStyle(dwStyle); //设置显示风格
    	m_listCtrl.InsertColumn(0,"学号",LVCFMT_CENTER,100); //第一个参数是字段的编号
    	m_listCtrl.InsertColumn(1,"姓名",LVCFMT_CENTER,100); //第二个参数是字段的名字
    	m_listCtrl.InsertColumn(2,"性别",LVCFMT_CENTER,100); //第三个参数是字段的显示风格
    	m_listCtrl.InsertColumn(3,"专业",LVCFMT_CENTER,100); //第四个参数是字段的宽度
    	m_listCtrl.InsertColumn(4,"班级",LVCFMT_CENTER,100); //设置表格字段名
    	m_listCtrl.InsertItem(0,"0001"); //0即表格中的第一行
    	m_listCtrl.SetItemText(0,1,"张三");
    	m_listCtrl.SetItemText(0,2,"男");
    	m_listCtrl.SetItemText(0,3,"电子信息");
    	m_listCtrl.SetItemText(0,4,"202001"); //在表格中添加数据,插入一行记录
    	m_listCtrl.InsertItem(1,"0002");
    	m_listCtrl.SetItemText(1,1,"李丽");
    	m_listCtrl.SetItemText(1,2,"女");
    	m_listCtrl.SetItemText(1,3,"计算机");
    	m_listCtrl.SetItemText(1,4,"202002");
    	return TRUE;  // return TRUE unless you set the focus to a control
    	        // EXCEPTION: OCX Property Pages should return FALSE
    }
    

    10、新建一个对话框,具体如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    11、紧接着建立它所对应的类,如下图所示。
    在这里插入图片描述
    12、双击“添加记录”按钮,把“添加一条学生记录信息”这个对话框给调出来,如下图所示。
    在这里插入图片描述
    13、把“添加一条学生记录信息”对话框的头文件:#include "Dlg_StuInfoAppe.h"嵌入进来。然后在OnBTNAppe()中编程。

    void CDlgStuInfo::OnBTNAppe() 
    {
    	// TODO: Add your control notification handler code here
    	CDlg_StuInfoAppe dlg_stuInfoAppe;
    	dlg_stuInfoAppe.DoModal();
    }
    

    14、接下来怎么把一条新的学生信息通过“添加一条学生记录信息”对话框加到上一个 “学生档案信息”对话框的列表中去,这是我们的目的。

    15、在对应部分添加如下代码:
    CString m_sNo,m_sName,m_sSex,m_sDept,m_sClass;
    在这里插入图片描述

    class CDlgStuInfo : public CDialog
    {
    // Construction
    public:
    	CDlgStuInfo(CWnd* pParent = NULL);   // standard constructor
    
    // Dialog Data
    	//{{AFX_DATA(CDlgStuInfo)
    	enum { IDD = IDD_DlgStuInfo };
    	CListCtrl	m_listCtrl;
    	//}}AFX_DATA
    
    	CString m_sNo,m_sName,m_sSex,m_sDept,m_sClass;
    
    	int m_listSelPos; //获取当前被选中的位置
    
    // Overrides
    	// ClassWizard generated virtual function overrides
    	//{{AFX_VIRTUAL(CDlgStuInfo)
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    	//}}AFX_VIRTUAL
    
    // Implementation
    protected:
    
    	// Generated message map functions
    	//{{AFX_MSG(CDlgStuInfo)
    	virtual BOOL OnInitDialog();
    	afx_msg void OnBTNAppe();
    	afx_msg void OnBTNModi();
    	afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult);
    	afx_msg void OnBTNDele();
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    };
    

    16、点击“确定”按钮后接收添加的信息到上一个 (学生档案信息)对话框的列表中去,代码如下。

    void CDlgStuInfo::OnBTNAppe() 
    {
    	// TODO: Add your control notification handler code here
    	CDlg_StuInfoAppe dlg_stuInfoAppe;
    	if(IDOK == dlg_stuInfoAppe.DoModal())
    	{
    		m_sNo = dlg_stuInfoAppe.m_sNo;
    		m_sName = dlg_stuInfoAppe.m_sName;
    		m_sSex = dlg_stuInfoAppe.m_sSex;
    		m_sDept = dlg_stuInfoAppe.m_sDept;
    		m_sClass = dlg_stuInfoAppe.m_sClass; //把添加记录对话框中的数据传过来,保存到基础信息对话框中
    		int pos; //添加的位置
    		pos = m_listCtrl.GetItemCount();
    		m_listCtrl.InsertItem(pos,m_sNo);
    		m_listCtrl.SetItemText(pos,1,m_sName);
    		m_listCtrl.SetItemText(pos,2,m_sSex);
    		m_listCtrl.SetItemText(pos,3,m_sDept);
    		m_listCtrl.SetItemText(pos,4,m_sClass); //把获取进来的数据插进去
    	}
    }
    

    17、双击“修改记录”按钮,把“修改记录信息”这个对话框给调出来(同12)。

    18、把“修改记录信息”对话框的头文件:#include "Dlg_StuInfoModi.h"嵌入进来。然后在OnBTNModi()中编程(同13)。

    void CDlgStuInfo::OnBTNModi() 
    {
    	// TODO: Add your control notification handler code here
    	CDlg_StuInfoModi dlg_stuInfoModi;
        dlg_stuInfoModi.DoModal();
    }
    

    19、接下来怎么把 “修改记录信息”对话框中要修改的记录更新到上一个 “学生档案信息”对话框的列表中去,这是我们的目的(同14)。

    20、我们回到IDD_DlgStuInfo对话框,选中对话框,右击选择“事件…”,在弹出的事件句柄中选择“NM_CLICK”,如下图所示。
    在这里插入图片描述
    在这里插入图片描述

    void CDlgStuInfo::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	// TODO: Add your control notification handler code here
    	m_listSelPos = m_listCtrl.GetSelectionMark();
    //获取当前被选行的信息,传送到编辑对话框中去
    	*pResult = 0;
    }
    

    21、添加代码如下(类似16)。

    void CDlgStuInfo::OnBTNModi() 
    {
    	// TODO: Add your control notification handler code here
    	CDlg_StuInfoModi dlg_stuInfoModi;
    	dlg_stuInfoModi.m_sNo = m_listCtrl.GetItemText(m_listSelPos,0); //获取当前记录的显示的文本
    	dlg_stuInfoModi.m_sName = m_listCtrl.GetItemText(m_listSelPos,1);
    	dlg_stuInfoModi.m_sSex = m_listCtrl.GetItemText(m_listSelPos,2);
    	dlg_stuInfoModi.m_sDept = m_listCtrl.GetItemText(m_listSelPos,3);
    	dlg_stuInfoModi.m_sClass = m_listCtrl.GetItemText(m_listSelPos,4);
    
    	if(IDOK == dlg_stuInfoModi.DoModal())
    	{ //把新数据传送给浏览对话框,实现信息的修改
    		UpdateData(true); //把对话框中的信息更新到内存中去
    		m_listCtrl.SetItemText(m_listSelPos,0,dlg_stuInfoModi.m_sNo);
    		m_listCtrl.SetItemText(m_listSelPos,1,dlg_stuInfoModi.m_sName);
    		m_listCtrl.SetItemText(m_listSelPos,2,dlg_stuInfoModi.m_sSex);
    		m_listCtrl.SetItemText(m_listSelPos,3,dlg_stuInfoModi.m_sDept);
    		m_listCtrl.SetItemText(m_listSelPos,4,dlg_stuInfoModi.m_sClass);
    	}
    }
    

    22、“删除记录”类似,不再叙述。这里仅将该部分代码附上,如下。

    void CDlgStuInfo::OnBTNDele() 
    {
    	// TODO: Add your control notification handler code here
    	CString str;
    	str.Format("确认删除第 %d 行",m_listSelPos + 1);
    	if(IDYES == AfxMessageBox(str,MB_YESNO|MB_ICONQUESTION))
    	{
    		m_listCtrl.DeleteItem(m_listSelPos);
    	}
    } 
    

    三、执行结果

    1、编译运行后,点击“学生档案信息”,界面如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    2、添加记录,如下图所示。
    在这里插入图片描述
    3、修改记录,如下图所示。
    在这里插入图片描述
    4、删除记录,如下图所示。
    在这里插入图片描述

    展开全文
  • 给组合框或列表框添加元素一、RowSource属性添加元素二、为工作表中的ActiveX控件中的列表框添加元素三、使用list属性添加元素四、使用additem方法添加列表项五、列表框的其他属性 一、RowSource属性添加元素 ...

    一、RowSource属性添加元素

    Private Sub UserForm_Initialize()
        Dim i As Long
        i = Sheet5.Cells(Rows.Count, 1).End(3).Row
        ListBox1.RowSource = "产品表!a1:a" & i
    End Sub
    	ListBox1.ColumnHeads = True
    

    或者是

    Private Sub UserForm_Initialize()
        Dim i As Long
        i = Sheet5.Cells(Rows.Count, 1).End(3).Row
        ListBox1.RowSource = Sheet5.Range("a1:a" & i).Address(External:=True)
        ListBox1.ColumnHeads = True
    End Sub
    
    • 如果rowsource属性指定的工作表区域不是活动工作表,那么address属性的external参数是必须的,表示外部引用。
    • 只有rowsource才能显示标题,其他additem、list或column赋值的listbox无法显示标题

    二、为工作表中的ActiveX控件中的列表框添加元素

    Private Sub ListBox1_GotFocus()
        Dim i As Long
        i = Sheet5.Cells(Rows.Count, 1).End(3).Row
        Me.ListBox1.ListFillRange = "产品表!a1:a" & i
    End Sub
    

    三、使用list属性添加元素

    Private Sub UserForm_Initialize()
    	Dim i As Long, arr
        i = Sheet5.Cells(Rows.Count, 1).End(3).Row
        arr = Sheet5.Range("a1:b" & i)
        ListBox1.List = arr
    End Sub
    
    • list用法——list(row,column),row是从0开始到listbox1.listcount-1,column是从0开始到listbox1.columncount-1
    • ListBox1.List = arr也可以写成ListBox1.List = Range(“a1”).Value

    四、使用additem方法添加列表项

    Private Sub UserForm_Initialize()
    	Dim i As Long
    	For i = 1 To Sheet5.Cells(Rows.Count, 1).End(3).Row
            ListBox1.AddItem Sheet5.Cells(i, 1)
        Next
    End Sub
    

    五、列表框的其他属性

    Private Sub UserForm_Initialize()
        Dim i As Long
        i = Sheet5.Cells(Rows.Count, 1).End(3).Row - 1
        With ListBox1
            .BackColor = RGB(0, 255, 0)
            .BorderColor = 255
            .BorderStyle = fmBorderStyleNone
            .ColumnCount = 2
            .ColumnWidths = .Width / 2
            .ColumnHeads = True
            .RowSource = "产品表!a1:a" & i
            .ControlTipText = "欢迎录入"
            .Enabled = True
            With .Font
                .Size = 10
                .Bold = True
                .Italic = False
                .Underline = True
            End With
            .ForeColor = 38
            .Height = 500
            .Width = 500
            .Left = 0
            .Top = 0
            .ListStyle = fmListStyleOption
            .ListIndex = 0
            .MultiSelect = fmMultiSelectExtended
            .TextAlign = fmTextAlignCenter
        End With
    End Sub
    

    ListBox基本属性和方法详情

    展开全文
  • 在文本框中输入内容,点击“添加”按钮后添加列表框中;点击“删除”按钮则从列表框中删除选中的元素。 protected void Button1_Click(object sender, EventArgs e) { // ListBox1.Text= TextBox1.Text+ ...

    在文本框中输入内容,点击“添加”按钮后添加到列表框中;点击“删除”按钮则从列表框中删除选中的元素。

    protected void Button1_Click(object sender, EventArgs e)
            {
                // ListBox1.Text= TextBox1.Text+ ListBox1.Text;
                this.ListBox1.Items.Add(TextBox1.Text);
            }
    
    protected void Button2_Click(object sender, EventArgs e)
            {
                string checkobject = this.ListBox1.SelectedItem.ToString();
                this.ListBox1.Items.Remove(checkobject);
            }

     

    展开全文
  • 第一步:向界面中添加列表框控件”,用鼠标拖进来   第二步:设置列表框的属性,在样式中,选择“报告“----默认情况下是图标,这样是不会显示表格的,所以这里需要选择报告形式 第三步:创建列表框...
     4728人阅读 评论(4) 收藏 举报

    第一步:向界面中添加“列表框控件”,用鼠标拖进来

        


    第二步:设置列表框的属性,在样式中,选择“报告“----默认情况下是图标,这样是不会显示表格的,所以这里需要选择报告形式

    第三步:创建列表框的成员变量,


    这里需要注意的是:列表框的成员变量名一般是m_ctllist1,m_ctllist2,之类的。而且要选择contra了变量。

    还要注意,value类型的成员变量用来代表值,如编辑框的成员变量必须选择value类型的变量,用以代表类表框中输入的字符串。


    第四步:向dialog的初始化函数中,添加列表框的代码。


    进入初始化函数后,

    要添加的代码:

    DWORD dwStyle = m_ctllist.GetExtendedStyle();                    //添加列表框的网格线!!!

        dwStyle |= LVS_EX_FULLROWSELECT;            
        dwStyle |= LVS_EX_GRIDLINES;                
        m_ctllist.SetExtendedStyle(dwStyle);



        m_ctllist.InsertColumn(0,"姓名",LVCFMT_LEFT,80);              //添加列标题!!!!  这里的80,40,90用以设置列的宽度。!!!LVCFMT_LEFT用来设置对齐方式!!!
        m_ctllist.InsertColumn(1,"性别",LVCFMT_LEFT,40);
        m_ctllist.InsertColumn(2,"年龄",LVCFMT_LEFT,40);
        m_ctllist.InsertColumn(3,"电话",LVCFMT_LEFT,90);

        m_ctllist.InsertColumn(4,"工作单位",LVCFMT_LEFT,140);

    第五步:添加完代码之后,编译,效果图如下。

                            

    展开全文
  • 组合框和列表框都可以在界面上同时显示多项内容,并且允许用户选中其中的某项内容列表框还允许同时选择多项。这两种控件的使用,有很多相似之处;2.3.1 技术要点: Windows 中预先定义了一系列“CB_ ”开头的消息...
  • 列表框控件List Control设置行高

    千次阅读 2017-04-11 17:02:50
    MFC的标准列表框控件并没有给出设置每一行高度的接口。 有两种方法可以设置: 1.取巧的方法:为列表框插入图标,每一行的高度自动变为图标的高度。这个方法很快,但总觉得有点别扭,且不好移植。所以我没用这种...
  • void Ckongjian22Dlg::OnBnClickedOk() { CString text; //得到文本框对像 CEdit * edit=(CEdit*)GetDlgItem(IDC_EDIT1); edit->GetWindowText(text);... //将文本框添加列表框中 CList...
  • JavaScript实现下拉列表框添加选项

    千次阅读 2019-10-18 12:40:27
    效果展示 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <...select name="list" id="list"> <option>请选择&...
  • CListCtrl列表框添加与更改图标

    千次阅读 2012-08-06 10:13:07
    本文转载:... 一、添加图标 首先把列表框的属性中样式设为report样式。然后在给列表框插入列之前执行下面的操作: CBitmap bitmap;  m_Imagelist.Create (16,16,ILC_COLOR24 ,5,1);
  • 子窗口控件——列表框(List Box)

    千次阅读 2010-08-11 22:17:00
    默认的列表框给父窗口发送WM_COMMAND消息,所以几乎所有列表框都加LBS_NOTIFY,允许列表框发送WM_COMMAND,LBS_SORT可以让列表自动排序。LBS_MULTIPLESEL创建多选列表框。LBS_NOREDRAW会在添加列表后阻止列表更新,...
  • Java界面 SWT基本组件——列表框(List)

    千次阅读 2014-03-10 15:31:27
    列表框(List)的基本样式与基础应用 本次实验要求设计一个小程序来说明列表框的一些常用方法。 程序的主要功能: 1. 单击 “>” 按钮,将左侧选中的选项转移到右侧; 2. 单击 “ 3. 单击 “>>” 按钮,将左侧所有选项...
  • mfc 列表框行颜色设置方法

    千次阅读 2019-09-11 14:04:15
    指定改变CListCtrl中某一行的颜色,比如说刚添加进去的一行,让它改变颜色,这样记录多了,容易看到自己刚刚加入的行,方便操作可查看,也可以让添加和...新建一个mfc 对话框工程,并添加列表框控件,添加一些数据...
  • VB中关于LIST列表框的使用

    千次阅读 2019-01-29 14:35:42
    1.点击鼠标的左键,添加项目。点击鼠标的右键删除项目
  • 《Eclipse SWT/JFACE 核心应用》 清华大学出版社 5.5 列表框(List) 列表框的样式: SWT.SINGLE:只能选中一个选项 SWT.MULTI:可同时选择多个选项 SWT.H_SCROLL:带有水平滚动条的多行列表框 SWT.V_SCROLL:带...
  • list control双击事件编辑列表框

    千次阅读 2018-06-01 11:21:06
    1、目标:实现在双击列表框时的动态修改,包括:  1)双击空白处时自动添加一行;  2)双击已有数据时使用显示编辑框实现动态修改子项。 2、重点内容:  1)List Control控件NM_DCLICK消息响应事件;  2)Edit ...
  • C# ListBox:列表框控件

    千次阅读 2019-06-11 22:26:10
    列表框 (ListBox) 将所提供的内容以列表的形式显示出来, 并可以选择其中的一项或多项内容,从形式上比使用复选框更好一些。 列表框中常用属性: ... 例如Items.Add方法用于向列表框添加项,...
  • C# 获得串口名添加列表框

    千次阅读 2015-01-04 12:34:03
    public Form1() { InitializeComponent(); //portsArray数组获得所有串口列表 string[] portsArray = SerialPort.GetPortNames(); //把获得的串口名添加列表框
  • Excel VBA ListBox列表框添加和删除问题

    万次阅读 2008-04-04 23:30:00
    Excel VBA 窗体中有两个ListBox,需要做的操作:从一个列表框中选择列表值向另一个列表添加值,以及从已选择的值中删除选择的列表值。 例:ListBox列表 被选框lbData, 选择框lbSelectedData,列表框中显示三列。-...
  • (1)  添加组合控件 IDC_CMB_DEMO qu
  • 列表框双击自动添加,显示编辑框实现动态修改 1、List Control控件NM_DCLICK消息响应事件; 2、Edit Control的KillFocus消息响应; 3、Edit Control的动态显示及隐藏; 4、List Control获取指定行和列的编号,并获取...
  • 列表框、组合框

    千次阅读 2010-04-08 15:54:00
    如果项目总数超过了列表框可显示的项目数,列表框会自动添加滚动条,可以方便用户以滚动的方式来选择列表框列表框的常用属性·listcount属性:用于返回列表框中的所有选项的个数,该属性只能在程序代码中调用和设置...
  • 向工作表中添加列表框或组合框

    千次阅读 2012-05-04 10:29:40
    添加列表框(表单控件) 如果“开发工具”选项卡未显示,请显示它。 显示“开发工具”选项卡 单击“Office 按钮” ,然后单击“Excel 选项”。 在“常用”类别中的“使用 Excel 时采用的首选项”下,...
  • java-swing-列表框

    千次阅读 2019-06-21 17:03:28
    列表框的实现类是 JList类 它的常用构造方法有: JList():构造一个空的只读模型的列表框。...JList(Object[] listData):使用 listData 指定的元素构造—个列表框。 JList(Vector<?> listData):使用 listDa...
  • MFC列表框控件的动态编辑

    千次阅读 2019-09-10 13:14:41
    在我们进行mfc 编程时,我们需要用到列表框显示各层或各物体的参数设置,同时也希望能编辑其参数。我以前在网上查找,用了CComboListCtrl,这需要3个cpp 和 h 文件,用起来还不容易。 最近看到一个文章...
  • MFC中创建列表框&&及添加表格的方法

    万次阅读 多人点赞 2012-03-28 01:01:19
    第一步:向界面中添加列表框控件”,用鼠标拖进来   第二步:设置列表框的属性,在样式中,选择“报告“----默认情况下是图标,这样是不会显示表格的,所以这里需要选择报告形式 第三步:创建列表框...
  • VC中给列表控件CListCtrl添加复选

    千次阅读 2016-05-15 23:06:58
    目的:使列表框(CListCtrl)的每个项(item)前面有个复选,用来标明是否选中,提交数据是只选择选中的 方法:为列表框(CListCtrl)多加一个LVS_EX_CHECKBOXES风格 m_list.SetExtendedStyle(LVS_EX_GRIDLINES|...
  • 在弹出的"事件处理程序向导"对话框中的类列表中选中List控件所在的类,  然后在消息类型中选择"COMMAND",函数处理程序名称可以自己编辑一下,  然后点击"添加编辑"。 这样就生成了一个子菜单点击响应的函数。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,357
精华内容 86,942
关键字:

列表框list添加内容