08 下拉框、列表控件和树控件

1 下拉框

1.1 属性设置

Combo Box:
TyprList:DropList(下拉列表)
可以通过Data的数据栏手动添加数据

代码中添加数据:

添加变量
初始化中添加数据

m_cbx.AddString(TEXT("库里"));
	m_cbx.AddString(TEXT("库兹马"));
	m_cbx.AddString(TEXT("詹姆斯"));
	m_cbx.AddString(TEXT("杜兰特"));

1.2 设置默认选项

//设置默认选项
	m_cbx.SetCurSel(0); //int选项,数组的索引都是从0开始的

1.3 插入数据

	m_cbx.InsertString(4,TEXT("欧文"));

1.4 删除数据

	m_cbx.DeleteString(3);

1.5 获取索引并弹出

void CMy04comboBoxCtrlDlg::OnCbnSelchangeCombo1()
{
	// TODO: 在此添加控件通知处理程序代码
	//拿到索引的位置
	int index=m_cbx.GetCurSel();

	CString str;
	m_cbx.GetLBText(index, str);
	MessageBox(str);
}

2 列表框

2.1 属性设置

view ->report形式

2.2 添加表头

2.3 设置正文

其中表头不是正文的内容,索引从0开始

2.4 插入姓名、性别和年龄

2.3 整行选中、网格

//列表控件的使用
	CString  str[] = { TEXT("naem"),TEXT("sex") ,TEXT("age") };

	for (int i=0;i<3;i++)
	{
		//设置表头 参数(索引,内容,对齐方式,列的宽度)
		m_list.InsertColumn(i, str[i], LVCFMT_LEFT, 100);
	}

	//设置正文
	//表头不是正文内容,索引从0开始
	//m_list.InsertItem(0, TEXT("库里"));
	//给这个Item插入其他的数据
	//m_list.SetItemText(0,1,TEXT("男")); //第一行,第二列

	//插入姓名
	int j;
	for (int i=0;i<10;i++)
	{
		j = 0;
		CString name;
		name.Format(TEXT("库里_%d"), i);
		m_list.InsertItem(i, name);


		//插入性别和年龄
		m_list.SetItemText(i, ++j, TEXT("男"));
		m_list.SetItemText(i, ++j, TEXT("22"));

		//设置属性,整行选中,显示网格
		m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	}

3 树控件

3.1 设置属性

Has Lines
Has Buttons
Lines At Root
都设置为TRUE

3.2 准备icon图标

导入资源文件的Icon中,每个图标都有对应的ID

3.3 创建图标的集合

3.4 设置结点

3.5 设置默认选项

//准备ICON图标
	HICON icons[4];
	icons[0] = AfxGetApp()->LoadIconW(IDI_ICON5);
	icons[1] = AfxGetApp()->LoadIconW(IDI_ICON6);
	icons[2] = AfxGetApp()->LoadIconW(IDI_ICON7); 
	icons[3] = AfxGetApp()->LoadIconW(IDI_ICON8);
	//CImageList list;//必须保存这个图片,写到.h当中作为成员属性

	//创建图片的集合  参数(cx图像的尺寸,cy图形的尺寸,nFlags使用 32 位 DIB 部分,
	list.Create(30, 30, ILC_COLOR32,4,4);
	//添加具体的图片
	for (int i=0;i<4;i++)
	{
		list.Add(icons[i]);
	}
	m_tree.SetImageList(&list, TVSIL_NORMAL);


	//设置结点
	HTREEITEM root=m_tree.InsertItem(TEXT("根节点"), 0,0,NULL);
	HTREEITEM parent=m_tree.InsertItem(TEXT("父结点"), 1, 1, root);
	HTREEITEM sub1 = m_tree.InsertItem(TEXT("子节点1"), 2, 2, parent);
	HTREEITEM sub2 = m_tree.InsertItem(TEXT("子节点2"), 3, 3, parent);
	m_tree.SelectItem(root);

3.6 结点的切换

触发OnTvnSelchangedTree1事件

void CMy06CTreeCtrlDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialogEx::OnSysCommand(nID, lParam);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值