如何将 CMFCPropertyGridCtrl 添加到对话框
Posted
技术标签:
【中文标题】如何将 CMFCPropertyGridCtrl 添加到对话框【英文标题】:How to Add a CMFCPropertyGridCtrl to a Dialog 【发布时间】:2013-02-20 11:18:15 【问题描述】:谁能给我一个将 CMFCPropertyGridCtrl 添加到对话框的示例。我试图创建一个对话框并添加一个 CMFCPropertyGridCtrl。但它给了我错误。非常感谢教程或工作代码。
谢谢。
【问题讨论】:
【参考方案1】:最后我学会了添加一个 CMFCPropertyGridCtrl。这是代码..
CMFCPropertyGridCtrl m_wndPropList1;
m_wndPropList1.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, rectPropList1, this, MY_GRID_CTRL_ID);
m_wndPropList1.EnableHeaderCtrl();
//m_wndPropList.EnableDescriptionArea();
m_wndPropList1.SetVSDotNetLook(TRUE);
m_wndPropList1.MarkModifiedProperties(TRUE);
m_wndPropList1.SetAlphabeticMode(!TRUE);
m_wndPropList1.SetShowDragContext(TRUE);
CMFCPropertyGridProperty* pGroupFont = new CMFCPropertyGridProperty(_T("Theme Header Text Properties"));
LOGFONT lf;
CFont* font = CFont::FromHandle((HFONT) GetStockObject(DEFAULT_GUI_FONT));
font->GetLogFont(&lf);
lstrcpy(lf.lfFaceName, _T("Arial"));
COLORREF col = RGB(0 , 0 ,0);
pGroupFont->AddSubItem(new CMFCPropertyGridFontProperty(_T("Header Font"), lf,
CF_EFFECTS | CF_SCREENFONTS, _T("Specifies the default font for the dialog") , IDC_PROPERTY_GRID1_FONT , col) );
CMFCPropertyGridColorProperty* pColorProp = new CMFCPropertyGridColorProperty(_T("Header Font Color"),
RGB(0, 0, 0), NULL, _T("Specifies the default dialog font color") , IDC_PROPERTY_GRID1_FONT_COLOR);
pColorProp->EnableOtherButton(_T("Other..."));
pColorProp->EnableAutomaticButton(_T("Default"), ::GetSysColor(COLOR_3DFACE));
pGroupFont->AddSubItem(pColorProp);
CMFCPropertyGridColorProperty* pColorProp2 = new CMFCPropertyGridColorProperty(_T("Header Back Color"),
RGB(255, 255, 255), NULL, _T("Specifies the default dialog background color") , IDC_PROPERTY_GRID1_BACK_COLOR);
pColorProp2->EnableOtherButton(_T("Other..."));
pColorProp2->EnableAutomaticButton(_T("Default"), ::GetSysColor(COLOR_3DFACE));
pGroupFont->AddSubItem(pColorProp2);
m_wndPropList1.AddProperty(pGroupFont);
【讨论】:
我目前也被这个问题困扰。这是我的参考:ntcoder.com/bab/…以上是关于如何将 CMFCPropertyGridCtrl 添加到对话框的主要内容,如果未能解决你的问题,请参考以下文章
MFC 里 CMFCPropertyGridCtrl 执行 DeleteProperty 出错