CMFCPropertyGridCtrl的使用
来源:互联网 发布:ios9屏幕录制软件 编辑:程序博客网 时间:2024/05/28 16:03
1、概述
CMFCPropertyGridCtrl显示一个Property Grid Ctrl控件,该控件内部可以包含从CMFCPropertyGridProperty类派生的可编辑属性,比如,CMFCPropertyGridProperty、CMFCPropertyGridColorProperty、CMFCPropertyGridFileProperty、CMFCPropertyGridFontProperty。 每种可编辑属性还可以包含子项;另外Property Grid Ctrl控件在底部还包含一个大小可变的区域,用来显示当前选择的Porperty的描述。
除了设置属性值,用户还可以选择对话框,比如Color对话框、File对话框、Font对话框。
2、设置Property Grid Ctrl表头
1*、通过成员方法 EnableHeaderCtrl(); 可以启用/禁用表头。
2*、通过HDITEM设置表头的列(注意:只应该是两列,多于两列貌似不能显示多于的部分)。
例子:
CRect r;m_PropertyGridCtrl.GetHeaderCtrl().GetClientRect(&r);HDITEM a;a.cxy = r.Width()/3;a.mask = HDI_WIDTH; m_PropertyGridCtrl.GetHeaderCtrl().SetItem(0,&a);a.pszText = _T("材质属性");a.mask = HDI_TEXT;m_PropertyGridCtrl.GetHeaderCtrl().SetItem(0,&a);a.pszText = _T("值");a.mask = HDI_TEXT;m_PropertyGridCtrl.GetHeaderCtrl().SetItem(1,&a);3、向Property Grid Ctrl控件中添加Property
例子:
CMFCPropertyGridProperty* pNewProp = NULL;pNewProp = new CMFCPropertyGridProperty(_T("系数2"),(_variant_t)(int)1, _T(""));pNewProp->EnableSpinControl(true, -10, 10);//设置滑动按钮pNewProp->SetData(5);//设置标识,一般是枚举类型pNewProp->SetValue((_variant_t)(int)10);m_PropertyGridCtrl.AddProperty(pNewProp);也可以向Property中添加子项sub1, 或者继续向sub1中添加子项sub11;添加的顺序是先将sub11添加到sub1中,然后再将sub1添加到Property中,最后再把Property添加到Property Grid Ctrl中;
例子:
CMFCPropertyGridProperty* pProp9 = NULL;pProp9 = new CMFCPropertyGridProperty( _T("Property") );CMFCPropertyGridProperty* pProp10 = NULL;pProp10 = new CMFCPropertyGridProperty( _T("sub1"));CMFCPropertyGridProperty* pProp11 = NULL;pProp11 = new CMFCPropertyGridProperty( _T("sub11"), (_variant_t)(float)2.0, _T("") );pProp11->SetData( 11000);pProp11->SetValue( (_variant_t )(float)100.0);pProp10->AddSubItem( pProp11);pProp9->AddSubItem( pProp10 );m_PropertyGridCtrl.AddProperty( pProp9 );4、通过OnPropertyChanged消息响应函数使用设置的属性值
添加消息映射:
afx_msg LRESULT OnPropertyChanged (WPARAM wParam ,LPARAM lParam);
ON_REGISTERED_MESSAGE(AFX_WM_PROPERTY_CHANGED, OnPropertyChanged)
LRESULT MeshPropertyMaterialSet::OnPropertyChanged (WPARAM,LPARAM lParam)
{
...
}
在消息响应函数中拣选属性信息
参数:WPARAM :标识PropertyGridCtrl控件的ID,与GetDlgCtrlID(xxx)得到的相同;
LPARAM:标识PropertyGridCtrl控件的当前属性值改变的PropertyGridProperty。
- CMFCPropertyGridCtrl的使用
- 使用CMFCPropertyGridCtrl及CMFCPropertyGridProperty控件的心得体会
- 属性窗口开发--CMFCPropertyGridCtrl的使用
- CMFCPropertyGridCtrl 使用简记
- CMFCPropertyGridCtrl 使用简记
- CMFCPropertyGridCtrl 使用简记
- CMFCPropertyGridCtrl 的简单教程
- CMFCPropertyGridCtrl的简单教程
- CMFCPropertyGridCtrl 的简单教程
- CMFCPropertyGridCtrl 的简单教程
- CMFCPropertyGridCtrl 的简单教程
- CMFCPropertyGridCtrl
- CMFCPropertyGridCtrl
- MFC Feature Pack CMFCPropertyGridCtrl控件的应用
- VS08SP1中CMFCPropertyGridCtrl的基本用法
- MFC Feature Pack CMFCPropertyGridCtrl控件的应用
- VS08SP1中CMFCPropertyGridCtrl的基本用法
- VS08SP1中CMFCPropertyGridCtrl的基本用法
- android 高仿微信界面源码
- 使用ContentProvider 实现数据共享
- poj 2553 (强连通缩点出度为0)
- 立项 ——VC下,打印机管理和维护
- shell 字符串为空和长度的判断
- CMFCPropertyGridCtrl的使用
- 健壮的、便捷的、异步的SocketChannel实现
- IOS开发---OC语言-⑫点语法
- 利用SVD分解求解协方差的特征值以及特征向量--matlab
- ParameterizedType parameterizedType=(ParameterizedType) this.getClass().getGenericSuperclass(); Cl
- 2014.12.1
- java集合类之LinkedList
- 数据结构——栈
- android 计步器源码