我正在开发MFC应用程序,但我注意到使用方法CMFCPropertyGridProperty::AddOption()
后创建的组合框的功能不及CCombobox
类。有没有办法绑定这两个类中的对象? (更确切地说,是否可以在一个CCombobox
子项目中添加CMFCPropertyGrid
对象?)
如果不可能,是否可以使用一种替代方法来使用具有CCombobox
类提供的相同(或仅某些)功能的组合框?
最佳答案
检查CreateCombo
类的受CMFCPropertyGridProperty
保护的成员。
您应该在此重载成员函数中创建新的CComboBox
对象,并使用Create
对其进行初始化。该酒店负责最终(不确定)清洁。
UPD:
不久前,我在属性网格类中遇到了一个组合框问题。如果要捕获某些扩展的CComboBox
事件或在属性类的内部或外部调用CComboBox
方法,则应在自己的属性内定义自己的CreateCombo
方法,并调用基CreateCombo
类的CMFCPropertyGridProperty
方法。它返回有效的CComboBox*
指针。将此指针存储在属性成员中,然后就可以执行任何操作。