Subject |
Author |
Date |
|
Offer Har
|
Jul 3, 2008 - 10:07 AM
|
I sent you a mail about more support - did you get it?
|
|
Technical Support
|
Jul 4, 2008 - 1:19 PM
|
Yes, we got it. We are still working on it.
|
|
Offer Har
|
Jul 8, 2008 - 6:22 AM
|
This is not the mail I mean. We are interested in getting a better support altogether, as we need things to be fixed when we fund bugs and problems. Please contact us directly via mail for this.
|
|
Offer Har
|
Jul 7, 2008 - 6:58 AM
|
This is not the mail I mean. We are interseted in getting a better support altogether, as we need things to be fixed when we fund bugs and problems. Please contact us directly via mail for this.
|
|
Ulrich Heinicke
|
Jul 3, 2008 - 8:36 AM
|
Do you have an example how to use OnInitAdvancedTip to display custom tooltips for a grid cell? Ulrich
|
|
Technical Support
|
Jul 8, 2008 - 8:24 AM
|
Both tooltips and expanding windows require mouse hover events for grid cells. By default grid cells do not receive mouse hover notifications. To turn them on for inner and/or outer/header grid cells, you should invoke the grid’s <code.HoverEventsSet()</code> method or apply the __EGBS_EX_HVI_EVENT_CELLS and/or __EGBS_EX_HVO_EVENT_CELLS styles using the SiwModifyStyleEx() method.
|
|
Technical Support
|
Jul 4, 2008 - 1:16 PM
|
Your overridden method should be similar to the original one. But it can invoke methods of the CExtPopupMenuTipWnd object for changing tooltip window settings. It can make it balloon like for instance. Which kind of tooltips you are looking for?
|
|
Ulrich Heinicke
|
Jul 7, 2008 - 7:12 AM
|
Hi, i overwrite OnInitAdvancedToolTip with the following code:
bool CIBHGridCellPicture::OnInitAdvancedTip(CExtGridWnd & wndGrid, const CExtGridHitTestInfo & htInfo,
CExtPopupMenuTipWnd & _ATTW, RECT & rcArea)
{
#ifdef _TTRACE
CString strTrace;
TTrace::Debug()->Send("CIBHGridCellPicture::OnInitAdvancedTip");
#endif
strToolTipText = _T("TEST");
if (strToolTipText.GetLength()>0)
{
_ATTW.SetText(strToolTipText);
_ATTW.SetTipStyle(CExtPopupMenuTipWnd::__ETS_RECTANGLE_NO_ICON);
}
return true;
} in my implementation i used:
CIBHGridCellPicture * pCellPicture;
pCellPicture = STATIC_DOWNCAST(CIBHGridCellPicture,
GridCellGet(2L, WRESULT_BENDING, 0, 0, RUNTIME_CLASS(CIBHGridCellPicture))); but im my trace window i didn’t find the call of OnInitAdvancedTip . Please tell me what’s wrong. Ulrich
|
|
Technical Support
|
Jul 7, 2008 - 12:40 PM
|
There are two conflicting grid features: grid cell tooltips and grid cell expanding. These features are configured for inner and outer grid cell areas independently of each other by applying a combination of the following styles using the CExtGridWnd::SiwModifyStyleEx() method: __EGBS_EX_CELL_TOOLTIPS_OUTER_L
__EGBS_EX_CELL_TOOLTIPS_OUTER_R
__EGBS_EX_CELL_TOOLTIPS_OUTER_T
__EGBS_EX_CELL_TOOLTIPS_OUTER_B
__EGBS_EX_CELL_TOOLTIPS_INNER
__EGBS_EX_CELL_EXPANDING_OUTER_L
__EGBS_EX_CELL_EXPANDING_OUTER_R
__EGBS_EX_CELL_EXPANDING_OUTER_T
__EGBS_EX_CELL_EXPANDING_OUTER_B
__EGBS_EX_CELL_EXPANDING_INNER A tooltip window is displayed near a grid cell. An expanding window covers the cell area completely to make the location of the text on the screen matching the text inside the grid cell. The cell expanding feature is of higher priority. So, if you applied the __EGBS_EX_CELL_TOOLTIPS_INNER style to make an inner data cell displaying a tooltip and also applied the __EGBS_EX_CELL_EXPANDING_INNER style at the same time, the expanding window will be displayed instead of tooltip.
|
|
Ulrich Heinicke
|
Jul 8, 2008 - 5:44 AM
|
I define my grid with the following code:
m_wndResultGrid.OuterRowCountTopSet(1);
m_wndResultGrid.OuterRowHeightSet(true, 0L, 0);
m_wndResultGrid.ColumnAdd(3, false);
m_wndResultGrid.RowAdd(5, false);
m_wndResultGrid.DefaultColumnWidthSet(90, false);
m_wndResultGrid.SiwModifyStyle(
__ESIS_STH_PIXEL
|__ESIS_STV_ITEM
|__EGBS_SFB_FULL_ROWS
|__EGBS_GRIDLINES
|__EGBS_NO_HIDE_SELECTION
,
0,
false
);
m_wndResultGrid.SiwModifyStyleEx(
__EGBS_EX_CELL_TOOLTIPS_INNER
| __EGBS_EX_CELL_EXPANDING_INNER
| __EGWS_EX_PM_COLORS
| __EGBS_EX_CORNER_AREAS_3D
,
0,
false
);
m_wndResultGrid.EnableTooltips(true, true, true, true, true);
m_wndResultGrid.EnableExpanding(false, false, false, false, false); but when i move the mouse over the text cell i get the following: over the picture cell i get nothing. But i want to have an tooltip to explain the picture.
|
|
Technical Support
|
Jul 8, 2008 - 8:23 AM
|
The expanding windows are always displayed only if there is no space to display the cell content in the current cell rectangle. Tooltip windows always contain some helper/additional information which is not intersected with the grid cell area. It looks like you don’t need tooltips nor expanding windows. It’s possible to display some tooltip like window instead of built-in tooltips. You can simply override the CExtGridBaseWnd::OnGbwTooltip() virtual method and display what you need. In general, you can use the CExtContentExpandWnd window to display any custom drawn content in popup window over the grid control.
|
|
Ulrich Heinicke
|
Jul 8, 2008 - 8:56 AM
|
Do you have an small example how to use CExtContentExpandWnd to draw an popup window over the grid control? Thanks
|
|
Technical Support
|
Jul 8, 2008 - 12:37 PM
|
We coded the following simplest possible sample application for you:
CustomDrawnContentExpandWindowInGrid
It uses a built-in content expand window of the grid control. But it makes the grid display it for all the inner data cells regardles of if the cell data is completely visible. Besides it repaints the content expand window surface. We think you should copy the CMyGridWnd class into your project and change the required size of the content expand window and put your painting code into it.
|
|
Ulrich Heinicke
|
Jul 9, 2008 - 5:43 AM
|
Thanks, that’s what i need. The only thing now missing ist ShellList and ShellTree from the next version. If you have the source for me to intergrate it now please send it to me. Ulrich
|
|
Technical Support
|
Jul 9, 2008 - 12:41 PM
|
We would like to ask you to write a very short e-mail to the support mail box so we can reply with the shell controls download information.
|
|
Ulrich Heinicke
|
Jul 8, 2008 - 5:46 AM
|
when i changed to:
m_wndResultGrid.SiwModifyStyleEx(
__EGBS_EX_CELL_TOOLTIPS_INNER
// | __EGBS_EX_CELL_EXPANDING_INNER
| __EGWS_EX_PM_COLORS
| __EGBS_EX_CORNER_AREAS_3D
,
0,
false
); nothing will be changed (no tooltip over the picture).
|
|
Ulrich Heinicke
|
Jul 7, 2008 - 8:56 AM
|
I forget the following:
class CIBHGridCellPicture : public CExtGridCellPicture
{
public:
CIBHGridCellPicture();
~CIBHGridCellPicture();
void SetToolTipText(CString strText);
protected:
CString strToolTipText;
/// Überschreibung für Tooltip
virtual bool OnInitAdvancedTip(CExtGridWnd & wndGrid, const CExtGridHitTestInfo & htInfo,
CExtPopupMenuTipWnd & _ATTW, RECT & rcArea);
};
|
|
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();
|
|
tera t
|
Jul 3, 2008 - 3:25 AM
|
|
|
Technical Support
|
Jul 4, 2008 - 1:08 PM
|
Here is the working sample of the masked edit:
MaskedEditTest.zip
Please drop us e-mail so we can provide you with the source code.
|
|
tera t
|
Jul 7, 2008 - 12:56 AM
|
Hello. Thanks, Besides, I want the following functions. When a focus was off Edit.
I want to set a limit to appointed numerical input. For example
Biggest range 995 Smallest range 101 In addition, when I set a limit to numerical input during input.
I cannot input numerical value.
Therefore I think that I should set a limit when a focus came off.
|
|
tera t
|
Jul 10, 2008 - 2:08 AM
|
|
|
tera t
|
Jul 3, 2008 - 12:46 AM
|
Hello. It is a question about a tab. Please teach the reason why TabContainer and TabWnd parts to two
|
|
Technical Support
|
Jul 4, 2008 - 1:05 PM
|
The CExtTabPageContainerWnd window is simply a container for other windows: one CExtTabWnd window and several page windows. The CExtTabPageContainerWnd window moves the CExtTabWnd tab window and active page window inside itself.
You also requested the source code of the masked edit window. Here is the working sample
MaskedEditTest.zip
Please drop us e-mail so we can provide you with the source code.
|
|
howard liu
|
Jul 2, 2008 - 8:52 PM
|
Hi, Having colored all the dialogs in my application, I still have some system level dialogs like ’file’ , ’save-as’, ’print’, ’print-preview’ etc that appear with non-prof-ui style in my application. Being a system level dialog is there a possiblity at all that even these could be made appear with Prof-UI style Thanks, Howard
|
|
Technical Support
|
Jul 4, 2008 - 1:02 PM
|
New shell controls will be introduce in v.2.84. You can download a preview sample that illustrates these controls. We also plan to do some refactoring of existing file dialogs using these new shell controls.
|
|
howard liu
|
Jul 2, 2008 - 8:44 PM
|
Hi, Is it possible to remove selectively only the Horizontal scroll bar (that of CExtNCSB) Thanks, Howard
|
|
Technical Support
|
Jul 4, 2008 - 12:58 PM
|
The CExtNCSB template class duplicates the behavior of existing scroll bars (in the window non-client area) by creating CExtScrollBar windows over them. The CExtNCSB template class does not kill the standard scroll bars. It simply creates two CExtScrollBar windows window which cover the standard scroll bars. So, if you create and use windows without the WS_HSCROLL style, you will not see the horizontal scroll bar.
|
|
Mike Van Duzee
|
Jul 2, 2008 - 5:41 AM
|
Hello ...
In the StyleEditor Sample application dragging the Standard toolbar from a horizontal to a vertical position, causes the "Preset Styles", "Font Name" and "Font Size" user defined commands (ON_COMMAND(ID_SE_STYLE_LIST, OnSeStyleList), etc.) not to get executed. This issue appears to have been introduced in Prof-UIS 2.7.0 and still exists in 2.8.3.
The CExtBarButton::OnClick appears to be returning early due to the m_bDropDownHT flag being set in CExtBarButton::OnToolHitTest(). Would you not want to process the command if the toolbar is docked vertically?
Thanks.
|
|
Technical Support
|
Jul 4, 2008 - 1:18 PM
|
We are sorry for the delay with this reply. Thank you very much for reporting this issue. To fix it, please update the source code for the following two methods: CRect CExtBarTextFieldButton::OnInplaceControlCalcRect( const RECT & rcBtnArea ) const
{
ASSERT_VALID( this );
if( m_bVertDocked
&& (! GetCtrlVisibleVertically() )
)
return CRect( 0, 0, 0, 0 );
CRect rcCtrl( rcBtnArea );
CRect rcControlMarginSizes = OnInplaceControlCalcMarginSizes();
rcCtrl.DeflateRect(
rcControlMarginSizes.left,
rcControlMarginSizes.top,
rcControlMarginSizes.right,
rcControlMarginSizes.bottom
);
if( IsComboTextField() )
rcCtrl.right -= GetBar()->PmBridge_GetPM()->GetDropDownButtonWidth( (CObject*)this );
return rcCtrl;
}
CRect CExtBarTextFieldButton::RectDropDown() const
{
ASSERT_VALID( this );
if( ! IsComboTextField() )
return CRect( 0, 0, 0, 0 );
if( m_bVertDocked
&& (! GetCtrlVisibleVertically() )
)
return CRect( 0, 0, 0, 0 );
CRect rcTBB = Rect();
CRect rcTextField =
OnInplaceControlCalcRect( rcTBB );
CRect rcButton(
rcTextField.right,
rcTBB.top,
rcTBB.right,
rcTBB.bottom
);
return rcButton;
}
|
|
Offer Har
|
Jul 1, 2008 - 2:49 PM
|
|
|
Technical Support
|
Jul 2, 2008 - 12:57 PM
|
Yes, we got it and are working on this now. Thank you.
|
|
Offer Har
|
Jul 1, 2008 - 12:34 PM
|
|
|
Offer Har
|
Jul 1, 2008 - 8:59 AM
|
The minimus we ask is for you to reply and say that you got it and that you will try and fix the bugs... Is there any way to get a better support for your product?
|
|
FERNANDO GAMARRA
|
Jul 1, 2008 - 7:02 AM
|
I need a simple sample over RibbonBar for starting to develop my application. I’ve got a lot of problems to present and handle my RibbonBar. I’m sure that a simple sample I will get to develop a big RibbonBar. Best regards,
|
|
FERNANDO GAMARRA
|
Jul 9, 2008 - 6:59 AM
|
Hi,
I attached the code to generate a RibbonBar.
At the beggining it is only a node with 3 bottons, but why these three bottons are aligned horizontal? How can I make to aligne them vertical? What rules or methods can I use to control that kind of things, like position, size, etc.?
By other hand, when the application is execute, the RibbonBar appears with those three bottons, but the color is tenuous and greyish, as if they were inactive, what am I doing wrong?
And finally, by the moment, how the RibbonBar events are treated?
Thank you so much,
Fernando void CMainFrame::rb_Init() // Inicializar la RibbonBar { m_pRibbonNode = new CExtRibbonNode; CExtRibbonNodeTabPageCollection * pRibbonNodeTabPageCollection = new CExtRibbonNodeTabPageCollection; m_pRibbonNode->InsertNode(NULL, pRibbonNodeTabPageCollection); pRibbonNodeTabPageCollection->InsertNode( NULL, rb_InitPage_Edition() ); pRibbonNodeTabPageCollection->PageSelectionSet(0); m_wndRibbonBar.SetButtons(m_pRibbonNode); VERIFY(m_wndRibbonBar.MenuInfoGetDefault()->AccelTableLoad(IDR_MAINFRAME)); } CExtRibbonNode* CMainFrame::rb_InitPage_Edition() // Inicializar un nodo-página { CExtRibbonNodeTabPage * pRibbonNodeTabPage = new CExtRibbonNodeTabPage( 0L, NULL, _T("Edición") ); pRibbonNodeTabPage->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’E’) ) ), false ); pRibbonNodeTabPage->InsertNode( NULL, rb_InitNode_Edition_Clipboard() ); //pRibbonNodeTabPage->InsertNode( NULL, rb_InitNode_Home_Dos() ); return pRibbonNodeTabPage; } CExtRibbonNode* CMainFrame::rb_InitNode_Edition_Clipboard() { // Nuevo grupo Ribbon CExtRibbonNodeGroup* pRibbonGroup = new CExtRibbonNodeToolGroup(ID_RIBBON_PAGE_EDITION); // Preparar el grupo // Primero el nodo raíz pRibbonGroup->CmdKeyTipSet(new CExtCustomizeCmdKeyTip(__EXT_MFC_SAFE_LPCTSTR(_T("ZP"))), false); //pRibbonGroup->RibbonILE_RuleArrayGet().RemoveAll(); bool bRes = pRibbonGroup->m_iconBig.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_PICTURE_FROM_FILE_LARGE)); bRes = pRibbonGroup->m_iconBig.m_bmpNormal.Make32(); pRibbonGroup->m_iconBig.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); bRes = pRibbonGroup->m_iconSmall.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_PICTURE_FROM_FILE_SMALL)); bRes = pRibbonGroup->m_iconSmall.m_bmpNormal.Make32(); pRibbonGroup->m_iconSmall.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pRibbonGroup->SetTextInToolbar(_T("Portapapeles")); // Ahora cada una de las opciones CExtRibbonNode* pNodePaste = new CExtRibbonNode(ID_EDIT_CLEAR_SMALL, 0, NULL, 0, _T("Pegar\ndatos")); pNodePaste->CmdKeyTipSet(new CExtCustomizeCmdKeyTip(__EXT_MFC_SAFE_TCHAR(_T("P"))), false); //pNodePaste->RibbonILE_RuleRemoveSmallILV(); pNodePaste->RibbonILE_RuleArrayGet().RemoveAll(); pNodePaste->RibbonILE_RuleArrayGet().Add(__EXT_RIBBON_MAKE_RULE_ARRAY_ENTRY(__EXT_RIBBON_ILE_MAX, __EXT_RIBBON_ILV_SIMPLE_NORMAL, false)); pNodePaste->m_iconSmall.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_PICTURE_FROM_FILE_SMALL)); bRes = pNodePaste->m_iconSmall.m_bmpNormal.Make32(); pNodePaste->m_iconSmall.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pRibbonGroup->InsertNode(NULL, pNodePaste); CExtRibbonNode* pNodeCut = new CExtRibbonNode(ID_EDIT_CUT_SMALL, 0, NULL, 0, _T("Cortar\ndatos")); pNodeCut->CmdKeyTipSet(new CExtCustomizeCmdKeyTip(__EXT_MFC_SAFE_TCHAR(_T("C"))), false); //pNodeCut->RibbonILE_RuleRemoveSmallILV(); pNodeCut->RibbonILE_RuleArrayGet().RemoveAll(); pNodeCut->RibbonILE_RuleArrayGet().Add(__EXT_RIBBON_MAKE_RULE_ARRAY_ENTRY(__EXT_RIBBON_ILE_MAX, __EXT_RIBBON_ILV_SIMPLE_NORMAL, false)); pNodeCut->m_iconBig.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_SHAPES_LARGE)); bRes = pNodeCut->m_iconBig.m_bmpNormal.Make32(); pNodeCut->m_iconBig.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pNodeCut->m_iconSmall.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_SHAPES_SMALL)); bRes = pNodeCut->m_iconSmall.m_bmpNormal.Make32(); pNodeCut->m_iconSmall.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pRibbonGroup->InsertNode(NULL, pNodeCut); CExtRibbonNode* pNodeCopy = new CExtRibbonNode(ID_EDIT_COPY_SMALL, 0, NULL, 0, _T("Copiar\ndatos")); pNodeCopy->CmdKeyTipSet(new CExtCustomizeCmdKeyTip(__EXT_MFC_SAFE_TCHAR(_T("O"))), false); //pNodeCopy->RibbonILE_RuleRemoveSmallILV(); pNodeCopy->RibbonILE_RuleArrayGet().RemoveAll(); pNodeCopy->RibbonILE_RuleArrayGet().Add(__EXT_RIBBON_MAKE_RULE_ARRAY_ENTRY(__EXT_RIBBON_ILE_MAX, __EXT_RIBBON_ILV_SIMPLE_NORMAL, false)); pNodeCopy->m_iconBig.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_QUICK_PARTS_LARGE)); bRes = pNodeCopy->m_iconBig.m_bmpNormal.Make32(); pNodeCopy->m_iconBig.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pNodeCopy->m_iconSmall.m_bmpNormal.LoadBMP_Resource(MAKEINTRESOURCE(ID_INSERT_QUICK_PARTS_SMALL)); bRes = pNodeCopy->m_iconSmall.m_bmpNormal.Make32(); pNodeCopy->m_iconSmall.m_bmpNormal.AlphaColor(RGB(255, 0, 255), RGB(0, 0, 0), 0); pRibbonGroup->InsertNode(NULL, pNodeCopy); return pRibbonGroup; }
|
|
Technical Support
|
Jul 9, 2008 - 12:44 PM
|
Please take a closer look at initialization code of all the ribbon nodes in the CMainFrame::rb_InitNode_Edition_Clipboard() method. It contains the following lines for each of ribbon nodes: pNodeXXX->RibbonILE_RuleArrayGet().RemoveAll();
pNodeXXX->RibbonILE_RuleArrayGet().Add(__EXT_RIBBON_MAKE_RULE_ARRAY_ENTRY(__EXT_RIBBON_ILE_MAX, __EXT_RIBBON_ILV_SIMPLE_NORMAL, false)); The first line removes all behavior rules. The second line makes the ribbon button initially and always having a normal middle size state. You have simply killed the default behavior rules and didn’t specify new rules instead. In most cases you can simply get initialization code of ribbon groups from Prof-UIS sample applications and use these code snippets "as is" but with your icon resources and texts.
|
|
Technical Support
|
Jul 2, 2008 - 5:59 AM
|
Could you tell us what the main difficulties are? We have a lot of real-life cases when customers converted the RibbonBar sample into their projects by renaming this sample, changing icons and command identifiers and removing everything that is not needed. All the ribbon-bar specific events are completely handled in the virtual methods in the CExtRibbonBar -derived class. Please note, the CExtRibbonBar control is a very extended version of the CExtToolControlBar toolbar control. You should handle the events of push buttons using the classic MFC way: by adding command and updating methods.
|
|
Ulrich Heinicke
|
Jul 1, 2008 - 2:32 AM
|
Hi, you told me in May that you have a shell support code. Could you send me the code for testing? Ulrich
|
|
Ulrich Heinicke
|
Jul 3, 2008 - 6:00 AM
|
It looks very nice. I need the classes CExtShellListCtrl and CExtShellTreeCtrl for my project. Could you send me the source now? Ulrich
|
|
Technical Support
|
Jul 4, 2008 - 1:15 PM
|
Could you request it via email at support@prof-uis.com? We will send you the zipped source code via email or provide a link to ftp.
|
|
Technical Support
|
Jul 2, 2008 - 12:10 PM
|
We really have. Both CExtListCtrl and CExtTreeCtrl classes mostly work but the CExtHeaderCtrl class used in the list control is not finally skinned yet. We also made the CExtShellListCtrl and CExtShellTreeCtrl classes really working as shell controls, including watching for file system modifications (including a tree) and shell context menu:
MostlyWorkingNewControls284.zip
The problem is that the source code contains many trash methods, some duplicated methods and does not contain many required virtual methods for event notifications to be used in the real life applications. We really can send you the source code of the test project above, but there is no sense to test it yet. Besides, we are going to use these controls in some new and written from scratch classes like CExtFileDialog .
|
|
tera t
|
Jun 30, 2008 - 8:23 PM
|
Hello. After becoming Prof2.84,
Indication changing of Tab is slow.
And tab flickers well.
|
|
Technical Support
|
Jul 10, 2008 - 1:24 PM
|
We need your help in reproducing the slow behavior. We suspect it may depend on particular page windows inserted into tab page container. Could you please create some small test project which uses similar windows as in your real project and send it to us?
|
|
Technical Support
|
Jul 2, 2008 - 1:01 PM
|
Please let us know a sequence of actions in any of our samples so that we can reproduce the problem.
|
|
tera t
|
Jul 3, 2008 - 12:51 AM
|
It was 2.83 mistakes.
Some selection disposal of tabs seem to be changed....
|
|
Offer Har
|
Jun 30, 2008 - 8:19 PM
|
Dear support, I was reporting this for a while. I am sending you a sample application that demonstarte this bug. Please acknowledge that you have received it, and see the bug. Regards, Ron.
|
|
Technical Support
|
Jul 2, 2008 - 1:03 PM
|
We found out that this issue depends on Windows desktop settings. It appears on our computers with Windows XP only when some non standard desktop theme is selected. One of our programmers is working on this problem now.
|
|
Offer Har
|
Jun 30, 2008 - 8:21 PM
|
This is the application as it you should see it when you run it:
|
|
tera t
|
Jun 30, 2008 - 8:18 PM
|
|
|
Technical Support
|
Jul 3, 2008 - 5:30 AM
|
We are sorry for the delay. The menu question needs more details. Both A and B on your screen shot are not menus but ribbon groups. Ribbon groups collapse automatically. A collapsed ribbon group is converted into a popup menu like ribbon group which is also not the same as a simple popup menu.
The second problem is really interesting. We have fixed it using delayed dialog creation. This is not the final fix, but it’s working:
ModifiedRibbonBarSampleWithDelayedDialogCreation.zip
|
|
tera t
|
Jul 3, 2008 - 6:51 PM
|
Hello. >The second problem is really interesting. >We have fixed it using delayed dialog creation.
Before Prof2.82, there was not the necessity with OnRepositionSingleChild.
The program worked normally. (-_-;; >This is not the final fix, but it’s working:
When does fix seem to be the last?
|
|
Technical Support
|
Jul 10, 2008 - 1:18 PM
|
We are working on the dialog/ribbon related problem. It’s linked to two big parts of Prof-UIS what makes problem analysis complex
|
|
tera t
|
Jul 3, 2008 - 6:30 PM
|
Hello. http://www.prof-uis.com/prof-uis/tech-support/support-forum/ribbonbar-question-61033.aspx >The menu question needs more details.
>Both A and B on your screen shot are not menus but ribbon groups.
>Ribbon groups collapse automatically.
>A collapsed ribbon group is converted into a popup menu like ribbon group which is also not the same as a simple popup menu. When Menu-A is not displayed, I want to display Menu-B.
When Menu-B is not displayed, I want to display Menu-A. Is it impossible when I do not build a ribbon bar every time? m_wndRibbonPage.SetButtons();
m_wndRibbonPage.SetButtons( m_pRibbonNode );
m_wndRibbonPage._RecalcPositionsImpl();
CWnd::RepositionBars(0,0xFFFF,0);
m_wndRibbonPage.Invalidate();
|
|
Technical Support
|
Jul 10, 2008 - 1:25 PM
|
The current version of ribbon bar and ribbon page requires rebuilding of buttons collection.
|
|
tera t
|
Jul 9, 2008 - 12:18 AM
|
Please answer.
|
|
Offer Har
|
Jun 30, 2008 - 8:21 PM
|
Me too
|
|
Offer Har
|
Jun 30, 2008 - 8:17 PM
|
I have two nodes, each have two child nodes, I expand the two nodes, and run this code:
m_tree.ItemRemove(m_htRoot1Node1, false, false);
m_tree.ItemRemove(m_htRoot1Node2, false, false);
m_tree.ItemHide(m_htRoot1, true, false);
m_tree.ItemRemove(m_htRoot2Node1, false, false);
m_tree.ItemRemove(m_htRoot2Node2, false, false);
m_tree.OnSwUpdateScrollBars();
m_tree.OnSwDoRedraw();
The application crash. I am sending you also an application which demonstate this bug. This is the location:
#ifdef _DEBUG
if( LPVOID(pNode) != LPVOID(m_pCellRoot) )
{
CExtTreeGridCellNode * pDebugTestNode = m_arrGridVis.GetAt( nVisibleOffset );
ASSERT_VALID( pDebugTestNode );
ASSERT( LPCVOID(pDebugTestNode) == LPCVOID(pNode) ); <== HERE!
} // if( LPVOID(pNode) == LPVOID(m_pCellRoot) )
#endif // _DEBUG Please try to solve this ASAP, as we need this feature working. Thanks, Ron.
|
|
Richard Rodruck
|
Jun 30, 2008 - 5:41 PM
|
If you derive an MDIChildFrame with CExtNCW and use the office 2007 theme, the client area of the mainframe does not paint correctly if you maximize the child frame and then unmaximize it. You can see this in the MDI sample where the border around the client area disappears if you do this. If you resize the main frame while the child winow is open or open another child window it stops doing this. It does not appear to do this in non office 2007 themes.
|
|
Technical Support
|
Jul 1, 2008 - 12:43 PM
|
We are sorry for the delay with this reply. We fixed this issue. Please update the ../Prof-UIS/Include/ExtNcFrame.h and ../Prof-UIS/Src/ExtNcFrame.cpp files from the following ZIP file:
ExtNcFrame-updated-files-284.zip
|
|
Offer Har
|
Jun 30, 2008 - 4:05 PM
|
|
|
Offer Har
|
Jun 30, 2008 - 4:01 PM
|
|