繁体   English   中英

具有多行的CMFCPropertyGridProperty编辑框

[英]CMFCPropertyGridProperty with multi line edit box

如何使用编辑框创建多行属性? 我还需要一个将在多行框中显示文本的属性。

CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("Appearance"));
pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("Name"), (_variant_t) _T(""), _T("Specifies the text that will be displayed in the property")));
pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("Comments"), (_variant_t) _T(""), _T("Specifies the text that will be associated with the property")));
m_wndPropList.AddProperty(pGroup1);

您可以像在旧式编辑器中一样进行操作(替换为“ \\ n”,“ \\ n”,以便用户可以将行除以“ \\ n”):

初始化:

CString s = m_initial_params.m_info;
s.Replace("\n","\\n");
CMFCPropertyGridProperty* pProp = new 
CMFCPropertyGridProperty(misc_get_str_my(IDS_INFO), 
            (_variant_t) s, misc_get_str_my(IDS_INFO));
pProp->SetData(E_PROPERTY_DATA::OBJ_INFO);
pPropCtrl->AddProperty(pProp);

读值:

int nProperty = pProperty->GetData();
if(E_PROPERTY_DATA::OBJ_INFO == nProperty)
{
    m_initial_params.m_info = pProperty->GetValue().bstrVal;
    m_initial_params.m_info.Replace("\\n","\n");
}

似乎在MFC属性网格中未实现多行属性。 您可以使用按钮创建自定义属性,并在用户单击此按钮时显示带有多行编辑控件的对话框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM