首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CMFCPropertyGridProperty获得事件的响应

2012-07-22 
求助CMFCPropertyGridProperty获得事件的响应一个属性对话框.在大小哪里有三个选项None, Thin, Resizable,

求助CMFCPropertyGridProperty获得事件的响应
一个属性对话框.在大小哪里有三个选项None, Thin, Resizable, Dialog Frame。代码如下
  CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("外观"));

CMFCPropertyGridProperty* pProp = new CMFCPropertyGridProperty(_T("边框"), _T("Dialog Frame"), _T("对话框外框"));
pProp->AddOption(_T("None"));
pProp->AddOption(_T("Thin"));
pProp->AddOption(_T("Resizable"));
pProp->AddOption(_T("Dialog Frame"));
pProp->AllowEdit(FALSE);


pGroup1->AddSubItem(pProp);

弹出这个界面后。如果我选择Thin那么就弹出一个afxMssageBox提示我选择了Thin要怎么去做。我不知道如何去获取这个事件响应。当我选择的时候如何获取到现在选择的事件。然后对这个事件进行处理。要如何去做?

[解决办法]
在它所属的CPropertiesWnd的消息表里面添加
ON_REGISTERED_MESSAGE( AFX_WM_PROPERTY_CHANGED, OnPropertyChanged )
消息响应函数声明为
LRESULT CPropertiesWnd::OnPropertyChanged(__in WPARAM wparam, __in LPARAM lparam );
这个函数里面的第2个参数就是发生改变的CMFCPropertyGridProperty的指针:
CMFCPropertyGridProperty * pProperty = ( CMFCPropertyGridProperty * ) lparam;

热点排行