Subject |
Author |
Date |
|
Offer Har
|
Mar 1, 2007 - 12:13 PM
|
Dear Support,
I have a property grid in an CExtPaintManagerOffice2007_R3_Obsidian based application. The problem is that the grid remains black on white. I would like it to conform with the paint manager. What is the easiest way to do this?
Thanks, Ron.
|
|
Technical Support
|
Mar 2, 2007 - 12:23 PM
|
We are not completely sure what you mean but it seems you are talking about an inverted color scheme.
Some controls like a check box always inherits its styles from the parent window. That is why an inverted color schema is used for combo boxes when the Black theme is applied.
A list, a tree and a grid are considered as a kind of stand-alone controls and the user usually expects to see black text over a white background when using such a control. That is why the tree views inside the property grid do not inherit the inverted color scheme.
|
|
Offer Har
|
Mar 2, 2007 - 12:31 PM
|
You hit exactly the point.
I would have the grid white on gray as the rest of the application. For normal grid I did it manually very easily, I used TextColorSet for changing the cells color of my derived cell classes, and used OnSiwPaintBackground to change the grid’s background color or my derived grid.
I would to know how to do the same for a Property Grid.
Thanks, Ron.
|
|
Technical Support
|
Mar 3, 2007 - 4:41 AM
|
As you know CExtPropertyGridCtrl is a container for one or more tree grid windows. The latter are created in the CExtPropertyGridCtrl::OnPgcCreateGrids() virtual method. By default, two tree grids are created: CExtPropertyGridWndCategorized and CExtPropertyGridWndSorted . So you can override CExtPropertyGridCtrl::OnPgcCreateGrids() and instantiate any custom tree grids instead of the default ones.
|
|
Simon DESEE
|
Mar 1, 2007 - 11:53 AM
|
Dear support,
I used the MDI_InnerOuterBars sample to add a CExtToolControlBar on my CMDIChildWnd.
No errors at runtime, the view menu for this toolbar is checked, but the toolbar is not displayed !
I don’t use the state load function, this toolbar is always shown. No trace message on debug window.
The menu display correctly the associed bitmaps, the toolbar isnt present on the customize’s tolbar dialog.
Thanks for your help
|
|
Technical Support
|
Mar 2, 2007 - 11:46 AM
|
The problem has nothing to do with the algorithm that loads the control bar state. The problem may be that the show/hide command does not correctly work when not all the control bars were created with unique identifiers. So please check this in your application (both in main frame and in child frames).
A toolbar in a child frame window can be customizable if the child frame is designed to be customizable. The child frameās toolbar can be customizable in scope of the main frame window if you register it as being customizable. By default, the CExtCustomizeSite finds all toolbars in the main frame window only and registers them. You should override the CExtCustomizeSite::OnRegisterAdditionalToolBars() virtual method and register custom toolbars using the CExtCustomizeSite::OnRegisterToolBar() method. Please also note that when the state of all the additional toolbars are loaded (the code of CExtCustomizeSite ), they should be created by that time. We can guess that your child frame window is a single specific child frame which exists statically and persistently and even cannot be closed by the user.
|
|
Saeed Akbani
|
Mar 1, 2007 - 11:46 AM
|
What does the Prof-UIS Professional User Interface Suite require to be installed on users machine? We are not using ProfAuto library, just ProfSkin and ProfUIS. Does it just require the MFC redistributables to be installed on the Machine? No ActiveX controls have to be registered?
Thank you, Keith Bourque
|
|
Technical Support
|
Mar 2, 2007 - 11:28 AM
|
If your project is linked with Prof-UIS and ProfSkin statically, you do not need to distribute any Prof-UIS files but your executable. In the case of dynamic linking, you should include the Prof-UIS and ProfSkin dlls in your installer. You do not need to register any controls. As for the MFC, the appropriate version of MFC should be available on the target machine.
|
|
Offer Har
|
Mar 1, 2007 - 11:01 AM
|
Dear Support,
I have a CExtTabPageContainerWnd with many tabs, and would like all the tabs names to be displayed on multiple lines. I could not find method of doing this. The default behavior of tab is to scroll through the tab names, but this is not acceptable for the application, as all the tab names must be displayed for quick access.
Please let me know how this can be done.
Regards, Ron.
|
|
Suhai Gyorgy
|
Mar 2, 2007 - 2:21 AM
|
|
|
Offer Har
|
Mar 2, 2007 - 5:59 AM
|
Thanks Suhai,
Dear Support & Suhai,
I have ran the above mentioned sample, is there any way in which i can make all the tabs have the same width? Applying the flag __ETWS_EQUAL_WIDTHS had no effect.
This is the combination of flags i used:
__ETWS_MULTI_ROW_COLUMN| __ETWS_ORIENT_TOP| __ETWS_FULL_WIDTH| __ETWS_EQUAL_WIDTHS| __ETWS_CENTERED_TEXT| __ETWS_BOLD_SELECTION
Regarding your inputs to not use multi-line tab control. I looked at the proposed ribbon replacement. This proposal takes much more space then multi-line tabs, so it leaves me with no option but using the multi-line tab in my case.
Regards, Ron.
|
|
Technical Support
|
Mar 2, 2007 - 11:09 AM
|
Please read the following document:
http://msdn2.microsoft.com/en-us/library/aa511493.aspx
The most interesting part of this document is the following:
Use horizontal tabs if: * The window has seven or fewer tabs. * All the tabs fit on one row, even when the UI is localized. Use vertical tabs if: * The property window has eight or more tabs. * Using horizontal tabs would require more than one row.
The vertical tabs there look like the classic list box common control which you can see in the ribbon bar’s Options dialog.
The multi-row tabs in Prof-UIS is still at the beta stage and we moved them to the bottom of our TO-DO list after reading this document.
|
|
Offer Har
|
Mar 15, 2007 - 1:51 PM
|
You have convinced me... (Also microsoft ;-))
How can i use the control i see in the ribbon bar’s Option dialog outside the ribbon bar?
Thanks, Ron.
|
|
Technical Support
|
Mar 16, 2007 - 9:26 AM
|
Please download a test project that illustrates the use of the Options dialog and ribbon pages detached from the ribbon bar. You need to update the following Prof-UIS method first LRESULT CExtRibbonOptionsDialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message )
{
case WM_DESTROY:
if( (! m_strCommandProfileName.IsEmpty() )
&& LPCTSTR( g_CmdManager->ProfileNameFromWnd( m_hWnd ) ) != NULL
)
g_CmdManager->ProfileWndRemove( m_hWnd );
break;
} // switch( message )
LRESULT lResult = CExtNCW < CExtResizableDialog > :: WindowProc( message, wParam, lParam );
return lResult;
}
|
|
Offer Har
|
Mar 16, 2007 - 1:13 PM
|
Dear support,
That’s nice, but what i really need is that this control will be stand-alone. I have a complex dialog, that one part of it is the list of sub-dialogs that needs to be open, so I cannot use the CMyOptionsDialogBase concept, in the same way I use a tab control in a dialog.
Also, I need to control the width of the list, as space saving is very important, and I need to narrow the list to the optimum.
Is it possible to extract the list control out of the option dialog?
Thanks! Ron.
|
|
Technical Support
|
Mar 17, 2007 - 10:31 AM
|
The list box-like tabs are implemented in the CExtRibbonOptionsTabsWnd class which is based on the CExtRibbonGalleryWnd class implementing the ribbon gallery control based on CExtToolBoxWnd . You could create a CExtRibbonOptionsTabsWnd class which is also based on the CExtRibbonGalleryWnd gallery control without any difficulties. We can help you if you provide us with as much as possible details about what you need.
|
|
Offer Har
|
Mar 18, 2007 - 8:38 AM
|
Actually the best method for me would be to have the list as a stand alone control so I can place it in a dialog, and get event or virtual function whenever an item is clicked in the list.
Just like a normal list control, but better looking A LA vista style :-)
Thanks! Ron.
|
|
Technical Support
|
Mar 19, 2007 - 5:37 AM
|
Here is a project that contains a CMyVerticalTabsListBox class based on the ribbon gallery control and used as a control in the main dialog window. Please also fix the following issue in the ../Prof-UIS/Include/ExtRibbonBar.h class __PROF_UIS_API CExtRibbonGalleryWnd : public CExtToolBoxWnd There is no __PROF_UIS_API in that line in Prof-UIS 2.64.
|
|
Offer Har
|
Mar 19, 2007 - 9:28 AM
|
Thanks!
Another question - How can I change the background color of the list from white to another color? I would like also to change the text color of the items that are not selected.
One small problem in the control is the scroll bar when you press the up or down buttons it moves the list one pixel up or down, which is not a good behavior, as it takes for ever to scroll that way (you can see it easily in the demo project) I think it should move a full item up or down, and not a pixel.
|
|
Technical Support
|
Mar 20, 2007 - 12:32 PM
|
There is a CExtRibbonGalleryWnd::OnToolBoxWndEraseEntire() virtual method that you can oveeride to paint a custom background. virtual void OnToolBoxWndEraseEntire(
CDC & dc,
const CRect & rcClient,
const CRect & rcActiveChildArea,
CRgn & rgnActiveChildArea,
const CRect & rcActiveChildArea2,
CRgn & rgnActiveChildArea2
); You should use only the first two parameters and ignore other ones that are specific for the toolbox control only.
|
|
Offer Har
|
Mar 21, 2007 - 8:57 AM
|
One small question: I see that the scroll bar appears even if there is not need for it (disabled, but there) How can I change the behavior to be like in a list control or in the grid, that the scroll bar does not appear if not needed?
Thanks, Ron.
|
|
Technical Support
|
Mar 21, 2007 - 11:21 AM
|
The following virtual method auto-hides the scroll bar when it’s not needed: bool OnSwCanAutoHideScrollBar( bool bHorz ) const
{
ASSERT_VALID( this );
bHorz;
return false;
}
|
|
Offer Har
|
Mar 21, 2007 - 12:08 PM
|
Thanks, it works! I guess you meant to return true , and not false .
Can you please remind me what is the <tag> for wrapping a block of code nicely?
|
|
Technical Support
|
Mar 22, 2007 - 1:05 PM
|
Yes, we are sorry for that typo. The correct returned value should be true .
This tag is <pre>. We use it for rendering code blocks.
|
|
Offer Har
|
Mar 20, 2007 - 10:01 PM
|
Thanks, That solved the background problem. By the way, rcActiveChildArea was always zeroed.
Now to the text’s color: I found that m_clrRibbonModeMenuTextNormal controls the color of the text, but I need a separate color for the selected text, and the not-selected texts, because for the selected button I want the default black text, for the rest I need a white text.
I have a feeling from seeing the code that this might need some change in the code. Please let me know what this can be available.
Thanks, Ron
|
|
Technical Support
|
Mar 21, 2007 - 11:04 AM
|
We think you should override the CExtRibbonGalleryWnd::OnToolBoxWndDrawItem() virtual method, reset the text of the pTBCI object to empty string with saving it (using the CExtToolBoxWnd::TOOLBOX_ITEM_DATA::TextGet() and CExtToolBoxWnd::TOOLBOX_ITEM_DATA::TextSet() methods), invoke parent class method, paint text manually and finally restore the text of the pTBCI object.
The rest of the CExtToolBoxWnd::OnToolBoxWndEraseEntire() method’s parameters, including the rcActiveChildArea , are used by the CExtToolBoxWnd control only and only when this control uses style and behavior of toolbox in Visual Studio .NET 2003 and only when group expanding animation is performed.
|
|
Offer Har
|
Mar 21, 2007 - 12:06 PM
|
Great! Thanks a lot for your great support.
|
|
Offer Har
|
Mar 1, 2007 - 6:58 AM
|
Dear Support, I have an MDI application that I run on a dual-view nVidia controlled computer. I normally display the main-frame with its content on the left monitor, and some bars on the right display.
Sometimes, when i run the application, the main-frame ’decides’ it needs to open itself on the right monitor. Then, even if I restore the application, drag it to the left monitor and then maximize it again, it is miximized on to the right monitor (which is shouldn’t).
The only time I meet such strange behavior is when i run the Prof-UIS based application. The only way to get around this is to delete the Prof-UIS registry entry for the application, and by that to clear all the layouts of the application.
Please help...
Thanks, Ron.
|
|
Technical Support
|
Mar 1, 2007 - 11:10 AM
|
We can offer you a beta solution to this problem. It is based on that we reposition the skinned window manually. We sent you how to download the update via email.
|
|
Christoffer B
|
Feb 28, 2007 - 7:38 AM
|
Hi,
Can you show some code regarding how I get notified when a user has selected(or cancelled) an item in the ComboBox?
Best Regards
|
|
Technical Support
|
Feb 28, 2007 - 10:13 AM
|
There is an OnPopupListBoxItemClick() virtual method which is invoked each time the user changes the checked state (with the mouse or keyboard). So you can override this method in a CExtGridCellCheckListComboBox -derived class. Please note you should invoke the parent class’s method so the checked state can be changed properly.
|
|
David Skok
|
Feb 27, 2007 - 1:36 PM
|
I haven’t tried recently, but are they still not supported by ReportGrids? If not is there any way to support a stationary column in ReportGrid.
Thanks.
|
|
Technical Support
|
Mar 1, 2007 - 3:12 AM
|
The outer header areas in the report grid are still at the beta stage. The header columns on the left and right are not supported yet. The header rows at the top and bottom are supported but not painted according to the style of the report grid control in most paint managers.
|
|
Vincent Lin
|
Feb 27, 2007 - 4:49 AM
|
while I set the CExtGridCellInplaceSlider range to 0xffffffff (ULONG) , ScrollTotalRangeSet(0xffffffff ). the slider bar will disappear after I move the sllider bar. why ? and I also need 64 bit data size, could CExtGridCellInplaceSlider is available for that ? (my Prof-UIS version is V2.63)
|
|
Technical Support
|
Feb 27, 2007 - 5:52 AM
|
The inplace slider cell is not designed for working with very big value ranges. You should specify a smaller range (less than the maximum signed 32-bit value) and perform scaling manually. For example, if your slider is 300 pixels in width, you could set the maximum range value to 200 and connect this value to your 64-bit value in a certain proportion.
|
|
Rado Manzela
|
Feb 26, 2007 - 9:32 AM
|
How can I iterate over all selected items in tree grid ? (full row selection, multiple items selected) ? I could not find functions for getting selected tree grid’s items. Thank you!
|
|
Rado Manzela
|
Feb 27, 2007 - 3:04 AM
|
Thank you. I was not sure if this would work correctly.
|
|
Technical Support
|
Feb 26, 2007 - 11:03 AM
|
Because CExtTreeGridWnd is inherited from CExtGridWnd , you can use the following two methods of the latter for enumerating selected items: SelectionGetFirstRowInColumn() and SelectionGetNextRowInColumn() . The column index should be zero. You can then convert row indexes into HTREEITEM handles using the CExtTreeGridWnd::ItemGetByVisibleRowIndex() method.
|
|
David Skok
|
Feb 25, 2007 - 1:53 PM
|
Would it be possible to interpret an Enter keypress in a cell that contains a button as pressing the button. This would be especially handy for CExtGridCellCheckListComboBox and CExtGridCellComboBox types. I also use a custom cell that contains a drop down type button that opens a menu that I would like to make accept Enter.
Thanks
|
|
Technical Support
|
Feb 27, 2007 - 9:51 AM
|
By default, the drop-down popup menu opens up when the user presses F4 or Alt+Down. Please take a look at the CExtGridCell::OnKey() virtual method where F4 is processed. You can override this method and implement any custom behavior you need.
|
|
David Skok
|
Feb 25, 2007 - 2:40 PM
|
I discovered that Enter causes button to be pressed for CExtGridCellComboBox and CExtGridCellCheckListComboBox types if ModifyStyle( __EGCS_NO_INPLACE_CONTROL ) style set however does not work for CExtGridCellButton. How can I make it work with this cell type?
There is a BUG with CExtGridCellCheckListComboBox when ModifyStyle( __EGCS_NO_INPLACE_CONTROL ) is used with it. Hard to describe the problem but you can see it right away in Prof-UIS_Controls sample if you set this style in CExtGridCellCheckListComboBox column. Please take a look.
Thanks.
|
|
Technical Support
|
Feb 27, 2007 - 9:54 AM
|
It is not clear what the bug you mean. When the Enter key is pressed in the opened popup list box, the current item is selected (or checked for the CExtGridCellCheckListComboBox cell) and the menu closes. Do you mean that this is incorrect?
|
|
David Skok
|
Feb 27, 2007 - 11:44 AM
|
My apologies for not describing the problem clearly.
The problem is with the CExtGridCellCheckListComboBox cell type.
Set this style to the first cell in the CheckComboBox column in PROF-UIS_Controls sample:
pCellComboBox0->ModifyStyle( __EGCS_NO_INPLACE_CONTROL );
Without activating the drop down combo, select the cell. Press Enter. The dropdown combo appears. Use either the mouse to check/uncheck items or alternately up/down arrows, space key to check/uncheck items. You will notice that the items check in the drop down but are not added/removed from the cell. When you are done, press Enter and you will see that the cell does not display the correct list of checked items here either. If you activate the dropdown with the mouse by pressing the button, the control works properly.
|
|
Technical Support
|
Mar 1, 2007 - 9:14 AM
|
Thank you for reporting this issue. We have just fixed it. Please make the following changes in ExtGridWnd.cpp:
1. Open the CExtGridWnd::GridCellRectsGet method and replace the following lines if( pRectCellExtra != NULL )
::CopyRect( pRectCellExtra, &rcCell ); with these ones if( pRectCellExtra != NULL )
::CopyRect( pRectCellExtra, &rcCellExtra ); 2. Find the following line in the CExtGridBaseWnd::OnGbwCalcVisibleItemRect method: rcCalcItem.OffsetRect( nColFirstOffset, nRowFirstOffset ); Insert this line just after the above line: rcCalcExtra.OffsetRect( nColFirstOffset, nRowFirstOffset ); 3. Rebuild the library
|
|
David Skok
|
Feb 25, 2007 - 1:55 PM
|
This would also work well with the CExtGridCellButton type.
|
|
Andrew Banks
|
Feb 24, 2007 - 5:59 PM
|
How to change border color for internal cells
|
|
Technical Support
|
Feb 25, 2007 - 11:14 AM
|
By default, the border is drawn with the COLOR_3DFACE color. You can draw any custom border in this way:
1) Remove the _EGBS_GRIDLINES_H| __EGBS_GRIDLINES_V using CExtGridWnd::SiwModifyStyle() ;
2) Override the CExtGridCell::OnPaintForeground() method, in which call the parent class’s method and then draw a custom border.
|
|
Andrew Banks
|
Feb 25, 2007 - 7:04 PM
|
Maybe a CExtGridCell::g_color_grid_lines variable for this.
I know you know the above is extremely round about, but thanks.
Clients claim they can’t see the lines.
|
|
Technical Support
|
Feb 26, 2007 - 11:46 AM
|
To make things handier, we have just added a new OnGbwQueryGridLinesColor() virtual method to the CExtGridBaseWnd class. So you can now change the grid line color simply by overriding it. Please contact us via email if you need the update right away.
|
|
Hans Bergmeister
|
Feb 24, 2007 - 5:53 AM
|
Hello,
our application contains a certain floating CExtToolControlBar bar, that we need to keep at the top of the Z-order of all (!) control bars all the time, i.e. always in the foreground of the application. With plain MFC control bar objects we managed to accomplish this.
After changing to Prof-UIS this does not work anymore. So far we have not found a way to prevent an activating CExtDynamicControlBar bar, which is floating or docked in a floating container, from covering the said CExtToolControlBar bar.
Is there any way to keep this tool bar always in front of all other bars? And if so, how is this done?
|
|
Technical Support
|
Feb 24, 2007 - 12:27 PM
|
You can do this in two ways: by making the floating mini frame window always at the top (cannot always be correct) and by using custom control bar classes which implement the CExtControlBar::_ActivateOnClick() method. This method should the invoke parent class method and then bring to the top what you want to see always over other bars.
|
|
Hans Bergmeister
|
Feb 25, 2007 - 3:05 AM
|
Hello,
I am not sure, whether I understand right or whether I have made our request clear enough.
As far as I understand, _ActivateOnClick() is only called for CExtPageNavigatorWnd and CExtToolControlBar objects. We don’t use CExtPageNavigatorWnd and CExtToolControlBar::_ActivateOnClick() gives us a handle, if the toolbar itself is being clicked. But we need something, that is called, when another (!) bar (mainly a CExtDynamicControlBar) is being clicked to prevent that other bar from displacing our toolbar downward.
Furthermore _ActivateOnClick() does only help, when the toolbar itself is clicked but not, when the NC area of the containing mini frame window is clicked.
|
|
Technical Support
|
Feb 26, 2007 - 12:26 PM
|
We added some improvements to the CExtControlBar and CExtMiniFrameWnd classes. Now the CExtControlBar::_ActivateOnClick() method is invoked correctly for control bars and a new CExtControlBar::_OnNcMiniFrameActivate() virtual method handles NC activation/deactivation for floating mini frame windows including complex palettes with several control bars inside. Please contact via e-mail for the update.
|
|
Andrew Banks
|
Feb 23, 2007 - 3:44 PM
|
The toolbar(s) menu appears on right click in a screen position it doesn’t own and is interfering with my own right click menu.
That region it appears in is derived from CFormview and has nothing to do with a CExtControlBar.
I just want to disable the toolbar(s) menu because I don’t need it in this software.
How to do this?
Thanks
|
|
Suhai Gyorgy
|
Feb 24, 2007 - 5:13 AM
|
|
|
David Skok
|
Feb 23, 2007 - 2:49 PM
|
Is it possible to add the focus arrow to a cell. I’m referring to the arrow that can be turned on for row headings in CExtGridWnd, not the mouse cursor. If it is an Icon and you tell me how to get it I can probably figure out the rest.
Thanks
|
|
Technical Support
|
Feb 24, 2007 - 12:24 PM
|
It is possible to make outer grid cells displaying the focus arrows for the focused row and or column like you can see in the grid controls in the SimpleGrids sample application. You should simply mark the header cells to let them know that they should display focus arrows automatically when appropriate row/column become focused: pHeaderCell->ModifyStyle(
__EGCS_HDR_FOCUS_ARROW_RESERVE_SPACE // reserve space for the focus arrow when it should not be displayed
|__EGCS_HDR_FOCUS_ARROW_DISPLAY // display the focus arrow
//|__EGCS_HDR_ROW_COLUMN_NUMBER // uncomment this to make header cells displaying row/column numbers automatically
);
|
|
David Skok
|
Feb 24, 2007 - 8:53 PM
|
I want to display the the focus arrow in the inner cell that is focused. Is the focus arrow an an Icon that I could display in the focused cell?
|
|
Technical Support
|
Feb 25, 2007 - 11:02 AM
|
This is not supported directly. You can however do this in following way. Any grid cell gets repainted when its focused state changes. This means you could use a custom cell class that implements the CExtGridCell::OnPaintForeground() virtual method. In this method, reset the cell icon depending on if the cell is focused and invoke the parent class’s method.
|
|
David Skok
|
Feb 23, 2007 - 2:42 PM
|
FontWeightSet( FW_BOLD ) works for CExtGridCellString but not CExtGridCellStringDM. Is this a bug?
|
|
Technical Support
|
Feb 24, 2007 - 12:23 PM
|
The CExtGridCell class is the base class for all grid cells and contains all the APIs required for customizing cell appearance, but most of them are not implemented in it. The CExtGridCellStringDM class is a text cell class which uses internal memory manager of the grid’s data provided for keeping cell text instead of CString -like property member. This is the main and single feature of the CExtGridCellStringDM class which is really should be used in grid windows which contain a very large number of text cells. It is based on the CExtGridCell class. The CExtGridCellString class is a simple CString -based text class. It is based on the CExtGridCellEx class.
Most of the grid cell APIs are implemented in the CExtGridCellEx class which is the base class for most of other cell classes and that is why font modification works for the CExtGridCellString class.
|
|
Ashley Gullen
|
Feb 23, 2007 - 9:17 AM
|
I recently upgraded my project to Prof-uis 2.64. Whenever I build, I get the following error message:
CVTRES : fatal error CVT1100: duplicate resource. type:CURSOR, name:21, language:0x0409
and linkage fails afterwards.
How do I fix this problem?
|
|
Technical Support
|
Feb 26, 2007 - 11:12 AM
|
Please let us know when this error occurs: when building Prof-UIS or your project? Unfortunately there are not enough details in your message to come to any conclusion what may cause the problem. We can only guess there are some collision between Prof-UIS internal resource identifiers declared in the ..\Prof-UIS\Include\Resources\resource.h file and your project resource identifiers. If you send us a test project that demonstrates the problem, we can review it and find out what’s wrong.
|
|
David Skok
|
Feb 23, 2007 - 7:22 AM
|
Please advise me if it already possible to do the features I ask about.
1. For InPlaceSlider Cell type, when a user presses Enter, or optionally a numeric key when such a cell is focused, an inplace editor temporally replaces the slider so that a user may enter a number directly if they wish.
2. Self checking range cell like the fields in DateTime. A simple integer control with set endpoints that behaves like say the day field in the DateTime Cell. If the month is March you can only enter a day between 1 and 31. In addition, when the editor is active, the up/down keys inc/dec the field. If this is not already in place perhaps you could advise me how I could implement this myself as I need something like this soon. Which cell type best to start with and where to catch the keys before the editor and set editor display.
Thanks
PS- Thanks for the new 2.64 release, PROF-UIS controls is the best damn thing since sliced bread, keep up the great work!!
|
|
Technical Support
|
Feb 27, 2007 - 9:59 AM
|
1. The CExtGridCellInplaceSlider cell does not support the inplace editor at the moment. We can add this feature if you really need it now.
2. First you need to code a CEdit -based control that implements what you need. Then you can activate this control as the cell inplace editor. You can take a look at the CExtGridCellHotKey cell where a custom CEdit -based control is used as the inplace editor (the CExtGridInplaceHotKey class).
|
|
David Skok
|
Feb 27, 2007 - 12:15 PM
|
If you could add the inplace edit feature to the CExtGridCellInplaceSlider I would greatly appreciate it. It would take me quite a while to make it work. Currently I use an inplace slider cell that displays text indicating the current setting. The function that I’m looking for is allowing the user to enter a number using an inplace editor directly if they choose by pressing Enter or a key. The inplace slider is temporarily replaced with the inplace edit. When entry is complete, they press Enter again and the inplace slider reappears along with any text. The user can still adjust the slider with the mouse if they wish.
Hate to be a pest but I have one other request, when an inplace slider cell is focused, allow the slider to be adjusted with keyboard. A possible combination might be Alt+arrow key depending on slider orientation.
I am making progress with a numeric entry cell, thanks for the reply.
Dave
|
|
Technical Support
|
Mar 13, 2007 - 11:23 AM
|
The features you requested are ready. We almost completely recoded the CExtGridCellInplaceSlider cell so now it activates the inplace editor when the user presses Enter or F2. The user can also change the scroll position using arrows key in conjunction with Alt key. The following keys are supported: Left, Right, Up, Down, Page Up, Page Down, Home and End. If you need these features right now, please let us know so that we can provide you with the latest source code.
|
|
Svetlozar Kostadinov
|
Feb 23, 2007 - 9:12 AM
|
I also would like to vote for this request. Especially for the second!
|
|
Carlo Di Michele
|
Feb 23, 2007 - 6:06 AM
|
Hello! The combine operation is clear, but how can i do the reverse - to remove properties from the combinated store, for ex. when user deselect one of the objects? Removing all properties and then recreating all over again (like in your 2 samples) is not very fine solution.
|
|
Technical Support
|
Feb 23, 2007 - 10:06 AM
|
Such operation is not supported. So you should recombine properties again from scratch.
|
|
David Skok
|
Feb 22, 2007 - 2:51 PM
|
in CExtGridWnd, CExtTReeGridWnd and CExtReportGrids?
|
|
David Skok
|
Feb 22, 2007 - 8:02 PM
|
Nevermind, I finally found it, GridCellSet.
|
|
Rado Manzela
|
Feb 22, 2007 - 11:49 AM
|
Does CExtTabPageContainerWnd resize it’s child dialogs ? Resizing of my dialog used as child in CExtTabPageContainerWnd is not working in my application. Is it by design of CExtTabPageContainerWnd or is it my fault? (there is AddAnchor(IDC_GRID,__RDA_LT,__RDA_RB) in OnInitDialog) Do I need to do something special to make it working ?
one more question - how to create grid in the dialog properly? I found no sample of grid on dialog, only as view. Currently I create it from static control like this: CWnd *st = GetDlgItem(IDC_GRID); CRect rect;
st->GetWindowRect(&rect); ScreenToClient(&rect); st->DestroyWindow(); c_grid.Create(this,rect,IDC_GRID);
Is there some smarter solution ? This creates the grid without the borders althought I’ve tried to call c_grid.ModifyStyle(WS_BORDER). How can I add the borders?
Thank you!
|
|
Rado Manzela
|
Feb 23, 2007 - 4:51 AM
|
|
|
Technical Support
|
Feb 23, 2007 - 2:36 AM
|
Yes, the tab page container resizes its child windows. Make sure your page dialogs are child, visible, clip children and clip siblings. If your dialog template resource have the static frame or group box controls, then they should have their Z-orders greater than their child controls.
There is nothing wrong in the code that creates the grid. But you can also use the grids as a custom dialog control as it is demonstrated in this project.
If the problem persists, you can send us the project so we can help you.
|