实验: CXTPPropertyGrid和类数据绑定

CXTPPropertyGrid * pPropertyGrid = ...;//前面建立好的

 

CXTPPropertyGridItem * pItemNode = pPropertyGrid->AddCategory("Node Name");;

 

CPropertyGrid_ItemData * pItemData = new CPropertyGrid_ItemData;

//自定义类, 里面有数据指针. pItemData中包含数据和显示的处理.

//把数据指针赋值进pItemData

//...

pItemNode->SetItemData((DWORD_PTR)pItemData);//把数据和展现联系在一起

//继续添加此节点的多个子节点, 子节点也有对应的数据指针.

 

现在遇到的问题是, 当编辑显示子节点后, 数据发生了变化。比如pItemData下的子节点删除了。

现在删除pItemNode下的所有子节点, 对这一部分数据重新建立子字节,绑定新的数据指针.

把数据重新SetItemData后,再编辑pItemNode节点时报错。

 

很明显的知道是显示节点对应的数据指针无效了,但是查过很久, 还没查出是哪里出错.

 

把属性格点显示数据和实际数据进行绑定的做法,使显示更新很快.

不用再重新从根节点重新装入数据.可以只更新变化了的数据. 如果没有删除节点的操作, 那只更新显示节点就可以.

 

稍后整理.

你可能感兴趣的:(实验: CXTPPropertyGrid和类数据绑定)