文档中心

控件开发_复杂数据模型和显示

03.列表视图控件

该控件用来显示数据模型中某一个节点下面的所有子节点(注意不是显示整个数据模型树)。该控件还能显示出节点的属性值 Table中的每一项。如可以指定显示某个目录下的所有文件,每一行显示一个文件,每一行分三列,依次显示该文件的名字、大小和创建时间。

另外该控件也具有一般控件都有的属性和方法,其 value值就是当前点击选中的数据节点,当选中的节点发生变化时,会触发 TStringID(“modified”) 事件。

对象类型

TW_LISTVIEW

TStringID(“listview”)

风格类型

TStringID(“listview”)

列表控件整体的显示风格

TStringID(“listview_node”)

每个节点的显示风格

TStringID(“listview_cell”)

值 Table中每一项的显示风格

私有标志(对

应布局文件中的字符串名字)

TW_LISTVIEW_MUTIL_SELECT

(“listview_multil_select”)

支持多选

TW_LISTVIEW_SELECT_TOGGLE

(“listview_select_toggle”)

当再次点击在选中节点上时,取

消选中

私有属性和

方法

Tint TwListViewGetSelectedCount(TWidget *widget);

得到当前选中的节点数

Tint TwListViewGetSelected(TWidget

*widget, Tint count, TwDataNode **ret)

得到当前选中的节点,count

Tint TwListViewGetClickedKey(TWidget widget)

得到最后一次点击在节点的值

Table中的哪一项上

通过下面的函数把列表视图控件和数据模型对象关联起来:

void TwSetDataModel(TWidget *widget, TwDataModel *dm, T_ID root_type, TwDataNode *show_root);

参数 show_root指定显示的父节点,参数 root_type和排版的配置相关。该函数会注册数据模型的 TStringID(“commit”)事件,这样在用户修改了数据模型时,会自动重新绘制。