向CMFCPropertyGridCtrl添加/获取值

时间:2015-11-12 07:18:54

标签: c++ mfc

我正在尝试从 MFC Property Grid Ctrl 获取价值。 这是我尝试过的:

CMFCPropertyGridCtrl *pValue = CMFCPropertyGridCtrl(_T("Test Value"));
pValue->AddSubItem(new CMFCPropertyGridProperty(_T("Test value"),_T("15"),_T("Desc..."));

m_myPropGrid.AddProperty(pValue);

int x = m_myPropGrid.GetProperty(0).GetSubItem(0).iVal;//not return 15

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

您的问题是Property Grid使用_variant_t来存储值。 所以你应该为你的值指定整数而不是字符串类型:

_variant_t val = 15;    
pValue->AddSubItem(new CMFCPropertyGridProperty(_T("Test value"), val, _T("Description"));

int x = m_myPropGrid.GetProperty(0)->GetSubItem(0)->GetValue().iVal;