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 |
|
Dominik Braendlin
|
Jul 3, 2008 - 4:20 AM
|
How can I avoid that the categories are being sorted alphabetically, in the CExtPropertyGridCtrl? I just want to display them the way I insert them "ItemInsert" in the CExtPropertyStore. Thanks
|
|
Technical Support
|
Jul 4, 2008 - 1:11 PM
|
The CExtPropertyGridCtrl window is a container for one or more tree grid windows (CExtPropertyGridWnd -derived). By default two tree grids are created: CExtPropertyGridWndCategorized and CExtPropertyGridWndSorted . Sorting is configured for each tree grid window inside the property grid control by setting its CExtPropertyGridWnd::m_bSortedCategories and CExtPropertyGridWnd::m_bSortedCategories properties (by default both are true ). The following code makes all the tree grids displaying both property categories and values "as is" without any sorting: CExtPropertyGridCtrl * pPGC = ...
ASSERT_VALID( pPGC );
CTypedPtrArray < CPtrArray, CExtPropertyGridWnd * > arrGrids;
pPGC->OnPgcQueryGrids( arrGrids );
INT nGridIdx, nGridCount = INT( arrGrids.GetSize() );
for( nGridIdx = 0; nGridIdx < nGridCount; nGridIdx ++ )
{
CExtPropertyGridWnd * pGrid = arrGrids[ nGridIdx ];
ASSERT_VALID( pGrid );
pGrid->m_bSortedCategories = false;
pGrid->CExtPropertyGridWnd::m_bSortedCategories = false;
}
This code should be invoked before assigning a property store to the property grid control. If pPGC already displays the content of some property store, you can invoke the following code to reload all the tree grids: pPGC->PropertyStoreSynchronize();
|
|