几天前,我开始开发一个MFC应用程序,它作为我的数据库的客户端。最近,我试图实现一个方法,该方法在属性窗口上每次更改属性值时执行(最好是作为组合框的字段)。
我的第一次尝试是覆盖CMFCPropertyGridProperty::OnUpdateValue()
。我能够正确地“实现”这个方法,但它没有按预期工作(我相信这里的主要问题是我没有直接在CProperties类上实现它,但我找不到任何其他引用互联网)。
所以,我已经转向基于消息映射的命令。我尝试过多种命令,例如ON_CONTROL_REFLECT
,CBN_EDITCHANGE
,CBN_EDITUPDATE
,但这些命令似乎都没有帮助。我不确定我是否在定义主要属性(这些previos命令的第一个参数)或者它们是CCombobox
类的独占命令时犯了一个大错误。换句话说,这些命令似乎对我当前的Property Grid没用,因为我直到现在使用的唯一“组合框”是在使用方法CMFCPropertyGridProperty :: AddOption()时生成的那个(重要说明:我的整个Property Grid基本上由CMFCPropertyGridProperty对象组成。)
无论如何,我相信我怀疑的答案和解决这个问题的方法很简单,但我仍然是C ++和MFC的新手......