duilib 进阶 之 list 容器使用 及扩展

目录

一、list控件

1、选中事件的例子

2、子项目为简单容器时赋值

1)、直接样式文件里赋值

2)、动态赋值

3、子项目含其它布局时赋值

4、事件分析

1)、列表控件失去焦点后,立马隐藏列表控件

2)、mousechild  true  false 区别

2.1)、 默认情况下,BOX容器 mousechild 为true

2.2)、可以在样式中设置mouse属性值

2.3)、可以在样式类中设置

2.4)、针对具体布局分析下

2.5)、使BOX区域都响应点击事件

2.6)、为啥改为ButtonBox,就可以让整个BOX响应点击事件了?

5、动态删除某些项


效果显示:

一、list控件

1、选中事件的例子

	/**
	 * @brief 监听选择子项的事件
	 * @param[in] callback 选择子项时的回调函数
	 * @return 无
	 */
	void AttachSelect(const EventCallback& callback) { OnEvent[kEventSelect] += callback; }

选中后,给文本控件赋值,并将列表隐藏

	nameList_ = (ui::ListBox*)FindControl(L"nameList");
	nameList_->AttachSelect([this](ui::EventArgs*) {

		//int nSelect = nameList_->GetCurSel();
		std::wstring name = nameList_->GetText();
		user_name_edit_->SetText(name);
		nameList_->SetVisible(false);
		r
lock