属性控件CMFCPropertyGridCtrl简单用法

Posted zhaojk2010

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了属性控件CMFCPropertyGridCtrl简单用法相关的知识,希望对你有一定的参考价值。

这是我的原创!

用一堆的编辑框下拉框做配置界面,很是繁琐,还要对齐排版……
用这个属性控件 CMFCPropertyGridCtrl 就可以统一风格了。

 1 //初始化
 2 CMFCPropertyGridCtrl m_propGrid;    //属性控件
 3 m_pPropName = new CMFCPropertyGridProperty(_T("名称"), _T(""), _T("描述")); //属性项
 4 m_pPropBuy = new CMFCPropertyGridProperty(_T("占比(%)"), (float)0.1, _T("")); //这里必须强制指定类型,否则取值会乱
 5 m_propGrid.AddProperty(m_pPropBuy);    //控件中加入一个属性项
 6 //可以添加的属性有4类
 7 CMFCPropertyGridProperty
 8 CMFCPropertyGridColorProperty
 9 CMFCPropertyGridFileProperty
10 CMFCPropertyGridFontProperty
11 
12 //添加下拉选项
13 prop->AddOption("yes");
14 prop->AddOption("no");
15 prop->AllowEdit(FALSE);
16 
17 //取值
18 COleVariant v = m_pPropName->GetValue();    //这回的是这种万用值,是union实现的
19 CString name;
20 name = v.bstrVal;    //字符串要这样转
21 float f = m_pPropBuy->GetValue().fltVal;    //小数,取值类型要与设置值的类型完全一致
22 
23 //事件通知
24 AFX_WM_PROPERTY_CHANGED    //用类向导添加这个消息响应,通知来的就是属性项的指针了
25 
26 //缺点
27 对于bool类型,不能显示为CheckBox,看起来不好

 


以上是关于属性控件CMFCPropertyGridCtrl简单用法的主要内容,如果未能解决你的问题,请参考以下文章

Qt属性表控件的使用 QtTreePropertyBrowser

CMFCPropertyGridCtrl 最后一项未绘制?

MFC 里 CMFCPropertyGridCtrl 执行 DeleteProperty 出错

请教一个关于CMFCPropertyGridCtrl的问题

如何将 CMFCPropertyGridCtrl 添加到对话框

请教高手一个关于CMFCPropertyGridCtrl消息处理的问题