|
|
|
|
Forum
Please
Log In
to post a new message or reply to an existing one. If you are not registered, please
register.
NOTE: Some forums may be read-only if you are not currently subscribed to
our technical support services.
Subject |
Author |
Date |
|
Krustys Donuts
|
Aug 1, 2005 - 7:40 PM
|
Hi, I’m trying to get my different CExtPropertyStore objects combined so that I can modify their common properties. However, when I call combine and synchronize, all of the properties appear for each store
For example, instead of getting something like:
+ Store properties
Color
Height
I get:
+ Store1
Color
Height
+ Store2
Color
Height
+ Store 3
Color
Height
Essentially, each item whose properties need to be displayed in the property grid control derive from StoreBase, which inherits from CExtPropertyStore. When StoreBase is constructed, it loads the properties for the store, which boils down to calls like this:
CExtPropertyValue* pValue = new CExtPropertyValue( label.c_str());
CExtGridCellComboBox* pData = STATIC_DOWNCAST( CExtGridCellComboBox, pValue->ValueActiveGetByRTC( RUNTIME_CLASS(CExtGridCellComboBox)));
pValue->ValueActiveSet( pData);
Is it obvious what I’m doing wrong?
Furthermore, what is CExtPropertyValueMixed? I’ve got this annoying crash that I’m trying to fix, and I see a call to this class in the call stack, but it’s undocumented.
Do you have any FAQs available yet for working with the property grid control?
|
|
Krustys Donuts
|
Aug 2, 2005 - 2:22 PM
|
Ok, we figured it out. In order for Combine to do what we think it should do, the categories obviously need to have the same name. Whoops!
|
|
Technical Support
|
Aug 3, 2005 - 1:19 PM
|
You are absolutely right. You have 3 categories in the combined result instead of one because source categories have different names. The CExtPropertyValueMixed class is the internal part of the property grid control’s implementation. This class implements the property value which contains pointers to other property values in other property stores. Applying the value to a mixed property value will change all referenced values in other property stores. The CExtPropertyValueMixed class is instantiated during combining two or more property stores into one combined property store.
|
|