通知公告
MPF分组功能(MPF实例教程第十四课)
日期:2016-04-05  发布人:admin  浏览量:597

这一课介绍MPF的分组功能,继承至ItemsControl的控件都具有分组功能,我们利用此功能来实现类似QQ的好友分组、群分组功能(此功能也可以利用后面介绍的Treeview实现)。

MPF的分组功能是在ItemsControl控件上实现的,其固定的容器是GroupItem,外部不能更改,而且在ListBox下分组容器不具有选择功能(其下面的子项和普通的ListBox项没区别),我们利用ListBox来实现此功能,如果需要我们的ListBox具有分组样式功能,应用需要从分组基类(ViewGroup)继承自己的分组对象,然后在分组中加入自己的子项,再把分组通过ListBox的AddChild加入到项集合即可。

下面我们继承自己的好友分组:

class MIMIGroup : public suic::ViewGroup

{

public:

    

    // 声明下分组名字(需要绑定显示此名字)

    BeginMember(MIMIGroup,suic::ViewGroup)

       MemberGetString(Name)

    EndMember()

    // 是否叶子节点

         bool IsBottomLevel()

{

   Return false;

}

Suic::String GetName()

{

   Return _name;

}

 

private:

 

    suic::String _name;

};

 

好了,上面我们定义了一个标准的分组对象,接下来可以在此分组对象加入实际的子项:

MIMIGroup* miGrp = new MIMIGroup();

miGrp->GetItems()->AddItem(new suic::String(_U(“data1”));

miGrp->GetItems()->AddItem(new suic::String(_U(“data2”));

suic::ListBox* pListBox = NULL;

// 获取ListBox控件

;

// 加入分组到ListBox

pListBox->AddChild(miGrp);

这样就完成一个分组功能显示,具体可以下载例子包,查看GroupItem代码,效果如下:

GroupItem.png

 

上一篇: 没有了 下一篇: 使用MPF事件(MPF实例教程第十三课...