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 |
|
Offer Har
|
Mar 22, 2007 - 2:04 PM
|
Dear Support,
I am trying to invert the color of edit-box and combo-box using SetBkColor and SetTextColor and have some problems with the overall look:
1) In the combo-box, between the arrow, and the value portion of the control, there are 2 columns of pixels left white; I would like them to be also black, as the this looks a little weird.
2) In the edit-box, the frame of it stays white, and only when hovering over it to changes to the frame color of a combo-box; I would like the frame color to be the same for all controls, so I don’t care about the hovering effect, all I want it to have the same color (light gray) for combo and edit boxes
I am using the CExtPaintManagerOffice2007_R3_Obsidian paint manager.
Thanks, Ron.
|
|
Technical Support
|
Mar 23, 2007 - 1:39 PM
|
This bug is fixed. Please download the latest source code from our ftp site.
|
|
delu qiu
|
Mar 22, 2007 - 12:14 PM
|
Hi
I have a CMDIFrameWnd window which use CExtToolControlBar as toolbar, when right click the toolbar, it popup a Customize menu. How to disable the right-click popup?
Thanks, Delu
|
|
Suhai Gyorgy
|
Mar 22, 2007 - 1:04 PM
|
|
|
Pranart Dechpokket
|
Mar 22, 2007 - 2:12 AM
|
Please tell me how to solve this problem. A Modal Dialog dosn’t show. But it’s still respond.
|
|
Technical Support
|
Mar 22, 2007 - 12:52 PM
|
We are sorry but it is not completely clear what you mean exactly. Would you modify the RibbonBar sample so that it demonstrates the problem and send it to us?
|
|
Michael Clapp
|
Mar 21, 2007 - 12:21 PM
|
My app is using a CExtTabbedToolControlBar . In one of the tabbed toolbars I am inserting both a static text box, and a combo box and am explicly setting the tooltip text for both. The tooltip appears as expected in the static.
When the tabbedcontrol bar is shown in a vertical orientation, the combo tip appears (however the combo box is replaced by square button). When the tabbedcontrol bar is docked horizontal or floating, the combo tip does not appear. I’ve also tried this with an owner draw combo..
My code to set the tooltip is as follows:
pCmdItem = g_CmdManager->CmdGetPtr(theApp.m_pszProfileName,IDC_REFERENCE_LAYER); if (!pCmdItem) pCmdItem = g_CmdManager->CmdAllocPtr( theApp.m_pszProfileName,IDC_REFERENCE_LAYER); pCmdItem->m_sTipTool = _T("my tooltip");
|
|
Technical Support
|
Mar 22, 2007 - 12:37 PM
|
You can assign tooltip text for a CExtComboBox window using CExtComboBoxBase::SetTooltipText() , because this class has its own implementation of tooltip. To make the combo box visible, use CExtCmdItem::StateSetCtrlVisibleVertically() . You should configure its parent button in a way that the combo box is visible when the toolbar is docked vertically.
|
|
Offer Har
|
Mar 21, 2007 - 12:09 PM
|
Dear Support, Is there a way to change to width of the control bar frame width? currently it is 4 pixels, and I would like to take it down to 2. Thanks... Ron.
|
|
Technical Support
|
Mar 22, 2007 - 1:13 PM
|
You can both repaint the non-client area and change its size. You can find an example of a custom non-client area in the TabbedBars sample.
There is a CExtControlBar::g_nMsgCustomNcAreaQuery registered message that is sent each time when the non-client area of a control bar is measured or painted. This feature is turned off by default (the message is not sent), but you can turn it on by setting the following property somewhere at startup (e.g., in the main frame’s constructor) to true : CExtControlBar::g_bUseCustomNcArea = true; In the TabbedBars sample, this message is handled in the CMainFrame::OnMsgUseCustomNcArea() method. Your handler may look like as follows LRESULT CMainFrame::OnMsgUseCustomNcArea( WPARAM wParam, LPARAM lParam )
{
ASSERT_VALID( this );
lParam;
CExtControlBar::CUSTOM_NC_AREA_QUERY_DATA * pCNAQD =
CExtControlBar::CUSTOM_NC_AREA_QUERY_DATA::FromWPARAM( wParam );
ASSERT( pCNAQD != NULL );
ASSERT_VALID( pCNAQD->m_pBar );
if( pCNAQD->m_pBar->IsFixedMode() )
return 0;
pCNAQD->m_bQueryHandled = true; // let the resizable bar know that its query is processed
if( pCNAQD->m_hDcDraw != NULL )
{ // if rendering query
. . .
} // if rendering query
else
{ // if metric update query
. . .
} // if metric update query
return 0;
} Here is the version that allows you to set only a custom size LRESULT CMainFrame::OnMsgUseCustomNcArea( WPARAM wParam, LPARAM lParam )
{
ASSERT_VALID( this );
lParam;
CExtControlBar::CUSTOM_NC_AREA_QUERY_DATA * pCNAQD =
CExtControlBar::CUSTOM_NC_AREA_QUERY_DATA::FromWPARAM( wParam );
ASSERT( pCNAQD != NULL );
ASSERT_VALID( pCNAQD->m_pBar );
if( pCNAQD->m_pBar->IsFixedMode() )
return 0;
if( pCNAQD->m_hDcDraw != NULL )
return 0;
pCNAQD->m_bQueryHandled = true;
pCNAQD->m_pBar->_SeparatorWidthSet( 2 );
pCNAQD->m_pBar->_SeparatorHeightSet( 2 );
return 0;
}
|
|
Offer Har
|
Mar 22, 2007 - 2:05 PM
|
|
|
Rado Manzela
|
Mar 21, 2007 - 11:11 AM
|
How can I redraw cell or only it’s icon immediately after changing the icon? Thank you
|
|
Technical Support
|
Mar 22, 2007 - 4:08 AM
|
There is a CExtGridWnd::GridCellRectsGet() method that allows you to get the location of a grid cell and the location of any of its parts. The location is specified in pixels relative to the grid window’s client area. CExtGridWnd::GridCellRectsGet() returns false if the grid cell is outside the visible range of cells. In this case, it is not possible to compute the cell location and you should always analyze the returned boolean value. Here is how you could use this method. CRect rcCell;
if( m_wndGrid.GridCellRectsGet( nColNo, nRowNo, 0, 0, rcCell ) )
m_wndGrid.InvalidateRect( &rcCell );
|
|
Suhai Gyorgy
|
Mar 21, 2007 - 9:56 AM
|
Dear Support,
In our application users can change the language of the UI dynamically. For this reason, we’d like to disable every text and message that comes from ProfUIS resources. We managed quite good for now, but I noticed that a "Press the Ctrl key to prevent docking" message appears in the status bar when any of the bars are being dragged. How could we disable or customize this message by code?
Thank you! Chris
|
|
Technical Support
|
Mar 21, 2007 - 11:27 AM
|
You should handle the WM_SETMESSAGESTRING message in the main frame window. If wParam is equal to IDS_EXTSTATUS_PREVENT_DOCKING , simply return zero in LRESULT . Otherwise you should let the parent class handle this message to display other status tips. You will need the following includes for implementation of the WM_SETMESSAGESTRING message handler because this message is MFC specific and the IDS_EXTSTATUS_PREVENT_DOCKING identifier is defined in Prof-UIS resources: #if (!defined __AFXPRIV_H__)
#include <AfxPriv.h>
#endif
#include <Resources/Resource.h>
|
|
Suhai Gyorgy
|
Mar 21, 2007 - 8:41 AM
|
Dear Support,
In our application we have to dynamically change text of MenuBar, so we have a CExtMenuControlBar-derived class, which has the following _UpdateMenuBar method (simplified): virtual BOOL _UpdateMenuBar(BOOL bDoRecalcLayout = TRUE)
{
BOOL bRet = CExtMenuControlBar::_UpdateMenuBar(bDoRecalcLayout);
for( int nPos = 0; nPos < GetButtonsCount(); nPos++ ) {
UINT nCmdId = GetButton(nPos)->GetCmdID();
CExtCmdItem *pCmdItem =
g_CmdManager->CmdGetPtr(
g_CmdManager->ProfileNameFromWnd(GetSafeHwnd()),
nCmdId
);
ASSERT( pCmdItem != NULL );
pCmdItem->m_sToolbarText = _T("My") + pCmdItem->m_sMenuText;
}
if( bDoRecalcLayout )
{
Invalidate();
_RecalcLayoutImpl();
UpdateWindow();
}
return bRet;
}
The problem happens in an MDI application, which has one menubar for the mainframe and one for the doctype. We place the menubar in a floating position. When initially there is no document open, user can see the mainframe’s menu. When we open a document, the floating menu turns into the menu of the document-type (in the meanwhile, _UpdateMenuBar is called). The problem is, that the caption of the menubar is painted only to the length of the original menubar, but since the texts of the buttons got longer than it would have been originally, the remaining part of the caption is white. Picture
|
|
Technical Support
|
Mar 21, 2007 - 11:20 AM
|
The following version of _UpdateMenuBar() method fixes the problem: class CMyMB : public CExtMenuControlBar
{
virtual BOOL _UpdateMenuBar(BOOL bDoRecalcLayout = TRUE)
{
BOOL bRet = CExtMenuControlBar::_UpdateMenuBar( FALSE ); // CHANGED
for( int nPos = 0; nPos < GetButtonsCount(); nPos++ ) {
UINT nCmdId = GetButton(nPos)->GetCmdID();
CExtCmdItem *pCmdItem =
g_CmdManager->CmdGetPtr(
g_CmdManager->ProfileNameFromWnd(GetSafeHwnd()),
nCmdId
);
ASSERT( pCmdItem != NULL );
pCmdItem->m_sToolbarText = _T("My") + pCmdItem->m_sMenuText;
}
if( bDoRecalcLayout )
{
Invalidate();
_RecalcLayoutImpl();
UpdateWindow();
if( IsFloating() ) // ADDED
GetParentFrame()->SendMessage( WM_NCPAINT ); // ADDED
}
return bRet;
}
};
|
|
Offer Har
|
Mar 21, 2007 - 7:43 AM
|
Dear Support, We have 4 bars that i dock like this:
m_ctrlBar1.DockControlBar(AFX_IDW_DOCKBAR_RIGHT, 1, this, true); m_ctrlBar2.DockControlBar(AFX_IDW_DOCKBAR_RIGHT, 1, this, true); m_ctrlBar2.DockControlBar(&m_ctrlBar1,true, true, this, false);
m_ctrlBar3.DockControlBar(AFX_IDW_DOCKBAR_TOP, 2, this, false); m_ctrlBar4.DockControlBarLTRB(20, &m_ctrlBar3, AFX_IDW_DOCKBAR_RIGHT, false);
We want bar1 & bar2 to be on the right side, and bar3 & bar4 on top, with bar4 to the right of bar3, and consuming less space then bar4. The problem is that no matter what we do, bar3 & bar4 have the same size.
What are we doing wrong?
Thanks, Ron.
|
|
Suhai Gyorgy
|
Mar 21, 2007 - 10:08 AM
|
I tried it, you have to set the last parameter to true in the last 2 calls, to force them to recalc layout:
m_ctrlBar3.DockControlBar(AFX_IDW_DOCKBAR_TOP, 2, this, true); m_ctrlBar4.DockControlBarLTRB(20, &m_ctrlBar3, AFX_IDW_DOCKBAR_RIGHT, true);
|
|
Offer Har
|
Mar 21, 2007 - 10:28 AM
|
Strange... It didn’t work for me. true or false, I see no difference, they are split 50-50 no matter what I do. Any other ideas what to look for?
Thanks, Ron.
|
|
Technical Support
|
Mar 21, 2007 - 11:29 AM
|
Could you repeat the same using control bars in our SDI sample? We believe the problem has to do with something we have not discussed yet.
|
|
Offer Har
|
Mar 21, 2007 - 8:47 PM
|
Dear Support,
I have found the problem, after porting it to the SDI sample and saw that it works there. It had to do with my main frame not being displayed. It is a full screen application, without title bar etc. and I did some working on hiding all these components that messed up all the sizes.
Now it works great!
Thanks, Ron.
|
|
Technical Support
|
Mar 21, 2007 - 11:09 AM
|
The CExtControlBar::DockControlBar() method is obsolete. We have not yet for compatibility issues (old versions). So use CExtControlBar::DockControlBarInnerOuter() and CExtControlBar::DockControlBarLTRB() methods instead. Please note that CFrameWnd::RecalcLayout() should be called before invoking CExtControlBar::DockControlBarLTRB() .
|
|
Offer Har
|
Mar 21, 2007 - 11:40 AM
|
That did not help. still 50-50. I will try and send you a working example.
|
|
Suhai Gyorgy
|
Mar 21, 2007 - 6:14 AM
|
Dear Support,
Would it be possible to have the dynamic bars in Tabbed document mode act more like control bars tabbed docked together? I specially think of the feature to make the bar switch to floating state by grabbing its tab and dragging it out from among the other bars.
Thank you! Chris
|
|
Technical Support
|
Mar 21, 2007 - 11:18 AM
|
Thank you for suggesting a new feature. Actually, there is a more extended task in our to-do list: MDI client area with split tab areas and drag-and-drop for its tab items.
|
|
Jia Hong Li
|
Mar 21, 2007 - 12:11 AM
|
|
|
Suhai Gyorgy
|
Mar 21, 2007 - 2:55 AM
|
From the picture it seems you’d like the 2 bars to share the vertical space of around 50-50%. For this you can use the other format of DockControlBarLTRB method, which receives the nPercentToOccupy value as first parameter. So your last line of code should look like:
Bar2.DockControlBarLTRB( 50, &m_wndResizableBarTree, AFX_IDW_DOCKBAR_BOTTOM );
|
|
David Skok
|
Mar 20, 2007 - 12:14 PM
|
I notice that CExtGridCellHeader is defined as...
class CExtGridCellHeader : public CExtGCE < CExtGridCellStringDM >
I want a header cell with a picture. Haven’t tried it yet but can I just do this to create my own?
class MyPictureGridCellHeader : public CExtGCE < CExtGridCellPicture >
Thanks
|
|
Technical Support
|
Mar 20, 2007 - 1:01 PM
|
That’s correct. You can create a custom header class by using CExtGCE . This template allows a grid cell to keep the minimum,maximum and current width of the column or row. The CExtGCP and CExtGCE template classes provide proportional resizing of columns and rows.
|
|
Robert Nitzel
|
Mar 20, 2007 - 11:46 AM
|
We are currently using AFX DLLs for a plug-in based system for an MDI application using prof-uis.
At the present we Pass the tool a CExtControlBar * pToolDockBar that the dll docks a CExtControlBar allocated within the dll.
Here is the code list for our InitTool() function within the DLL:
void InitTool(CWnd *pParent, CExtControlBar * pToolDockBar, int _ToolLayer) {
HINSTANCE hOld = AfxGetResourceHandle(); AfxSetResourceHandle(TESTDLL.hModule);
mpParent = pParent;
ToolLayer = _ToolLayer;
//Load the Tool Bar- /* if( 0 == m_TESTToolBar.Create(_T("Test Plugin"), mpParent, 0xE822, //AFX_IDW_TOOLBAR WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_FLYBY | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_HIDE_INPLACE ) || 0 == m_TESTToolBar.LoadToolBar( ID_TEST_TOOLBAR )) { TRACE0("FAILED to create toolbar\n"); AfxSetResourceHandle(hOld); return; }
//Dock the toolbar m_TESTToolBar.EnableDocking( CBRS_ALIGN_ANY ); ((CMDIFrameWnd *)pParent)->DockControlBar(&m_TESTToolBar); */ //Load Dialog Bar
if(0 == m_wndTestDlgControlBar.Create(_T("TSI Docked Tool"), mpParent, IDD_TEST_DLG_BAR, WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER |CBRS_TOOLTIPS |CBRS_FLYBY |CBRS_SIZE_DYNAMIC |CBRS_HIDE_INPLACE ) ) { TRACE0("Failed to Create a Diaglog Bar\n"); AfxSetResourceHandle(hOld); return;
}
//Now create it on the screen if(0 == mpDlgBar.Create(mpDlgBar.IDD, &m_wndTestDlgControlBar)) { delete mpDlgBar; TRACE0("Failed to create Dialog \n"); AfxSetResourceHandle(hOld); return; // fail to create }
//Dock the dialog control bar m_wndTestDlgControlBar.EnableDocking( CBRS_ALIGN_ANY ); //Dock the Tool Created CExtControlBar to the ControlBar passed to the tool from the main //application. pToolDockBar->DockControlBarIntoTabbedContainer(&m_wndTestDlgControlBar,0); AfxSetResourceHandle(hOld); return; }
This works fine in debug build, however in Release build, when we call AfxFreeLibrary() we get a "R6025 -Pure virtual function call" Error.
|
|
Technical Support
|
Mar 20, 2007 - 12:46 PM
|
It seems the problem is somewhere in the shutdown code, not in the code that creates the toolbar. We recommend you debug the release version of your application and plugin DLLs. You should change compiler and linker settings for these projects in the release configuration so that the degug information will be available. Please note that this kind of release build is not the same as the debug build because uninitialized variables are not be filled with zero bytes in it as it is in the classic release build.
|
|
Michael Clapp
|
Mar 20, 2007 - 10:14 AM
|
It seems the only way to create a toolbar in a CExtTabbedToolControlBar is with the BarInsert command which returns a newly created CExtToolControlBar. If we have a specialized toolbar that we want to insert (e.g. CMyExtToolControlBar) how can this be done?
thanks..
|
|
Technical Support
|
Mar 20, 2007 - 12:37 PM
|
There is a CExtTabbedToolControlBar::OnBarCreateObject() method, which you can override in order to create a custom toolbar inside a tabbed toolbar control. Please note that your class should be based on the CExtTabbedToolControlBar::LocalNoReflectedToolBar class so that you can insert it into the tabbed toolbar container.
|
|
Michael Clapp
|
Mar 20, 2007 - 10:08 AM
|
We’ve implemented a CExtTabbedToolControlBar in our app. When it floats, the size of the container is smaller than when docked, and there is a left/right arrow control to navigate throught the tabs. We would like to be able to control the size of this control bar and possibly eliminate the arrows.
Also is there a way to increase the size of the tabs themselves (show larger icons and larger text)?
thanks...
|
|
Technical Support
|
Mar 20, 2007 - 1:37 PM
|
The floating tabbed toolbar container window currently supports only a static width specified in the CExtTabbedToolControlBar::m_nFloatingWidth property. This control is designed to contain a large number of command buttons in a set of toolbars inserted as tab pages. In most cases it is used as a control bar statically docked at at the top/bottom of the frame window. So we can consider your question as a feature request.
You can change the tab window properties by making tabbed toolbar using your own tab page container window as its child window and your own tab window inside the tab page container. This means you should use your own CYourTabbedToolControlBar class derived from the CExtTabbedToolControlBar class and implementing the following virtual method:
CExtTabPageContainerWnd * CYourTabbedToolControlBar::OnTabPageContainerCreateObject()
{
ASSERT_VALID( this );
ASSERT( GetSafeHwnd() != NULL );
CExtTabPageContainerWnd * pTabPageContainerWnd = NULL;
try
{
pTabPageContainerWnd = new CYourTabPageContainerWnd;
}
catch( CException * pException )
{
ASSERT( FALSE );
pException->Delete();
pTabPageContainerWnd = NULL;
}
return pTabPageContainerWnd;
} The CYourTabPageContainerWnd class is a custom tab page container class: class CYourTabPageContainerWnd : public CExtTabPageContainerWnd
{
public:
virtual CExtTabWnd * OnTabWndGetTabImpl();
{
ASSERT_VALID( this );
return new CYourTabWnd;
}
}; The CYourTabWnd class is a custom tab control to be used inside the tab page container: class CYourTabWnd : public CExtTWPC < CExtTabWnd >
{
protected:
virtual INT OnTabWndGetParentSizingMargin(
DWORD dwOrientation
) const
{
ASSERT_VALID( this );
if( dwOrientation == __ETWS_ORIENT_RIGHT
|| dwOrientation == __ETWS_ORIENT_BOTTOM
)
return 1;
return 3;
}
virtual void OnTabWndEraseClientArea(
CDC & dc,
CRect & rcClient,
CRect & rcTabItemsArea,
CRect & rcTabNearBorderArea,
DWORD dwOrientation,
bool bGroupedMode
)
{
ASSERT_VALID( this );
ASSERT( dc.GetSafeHdc() != NULL );
PmBridge_GetPM()->PaintTabbedTabClientArea(
dc,
rcClient,
rcTabItemsArea,
rcTabNearBorderArea,
dwOrientation,
bGroupedMode,
this
);
}
virtual void OnTabWndDrawItem(
CDC & dc,
CRect & rcTabItemsArea,
LONG nItemIndex,
TAB_ITEM_INFO * pTii,
bool bTopLeft,
bool bHorz,
bool bSelected,
bool bCenteredText,
bool bGroupedMode,
bool bInGroupActive,
bool bInvertedVerticalMode,
const CRect & rcEntireItem,
CSize sizeTextMeasured,
CFont * pFont,
__EXT_MFC_SAFE_LPCTSTR sText,
CExtCmdIcon * pIcon
)
{
ASSERT_VALID( this );
ASSERT_VALID( pTii );
pTii;
ASSERT( dc.GetSafeHdc() != NULL );
ASSERT( pFont != NULL );
ASSERT( pFont->GetSafeHandle() != NULL );
if( (pTii->GetItemStyle() & __ETWI_CENTERED_TEXT) != 0 )
bCenteredText = true;
PmBridge_GetPM()->PaintTabItem(
dc,
rcTabItemsArea,
bTopLeft,
bHorz,
bSelected,
bCenteredText,
bGroupedMode,
bInGroupActive,
bInvertedVerticalMode,
rcEntireItem,
sizeTextMeasured,
pFont,
sText,
pIcon,
this,
nItemIndex,
PmBridge_GetPM()->GetColor( COLOR_BTNTEXT )
);
}
}; The CYourTabWnd class is the generic implementation of the tab control which is compatible with the tab page container inside the tabbed toolbar window. You can add other virtual methods into this class for changing its look: 1) The CExtTabWnd::OnTabWndQueryItemIcon() virtual method can be added for providing tab items with icons. 2) The CExtTabWnd::OnTabWndQueryItemText() virtual method can be added for providing tab items with custom text. 3) The CExtTabWnd::_GetTabWndFont() virtual method can be added for changing font of the tab control. 4) The CExtTabWnd::OnTabWndDrawItem() and CExtTabWnd::OnTabWndUpdateItemMeasure() virtual methods can be added if you want implement your own algorithms for painting and measuring tab items.
|
|
Ian McIntosh
|
Mar 20, 2007 - 6:20 AM
|
Hi,
I am trying to implement a CExtTreeGridWnd in an auto hiding window. I have had a problem where only a blank window was displayed. In creating a small test program to isolate the problem, I discovered if I used my CExtTreeGridWnd derived class without CExtWFF it works as I expected.
Is there a reason that CExtTreeGridWnd does not work with CExtWFF?
|
|
Technical Support
|
Mar 20, 2007 - 12:19 PM
|
You do not need to apply CExtWFF to CExtTreeGridWnd . It is primarily designed to be used with the standard tree and list controls.
|
|
Rado Manzela
|
Mar 19, 2007 - 3:06 AM
|
I’m using CExtGridWnd - derived class in my project. The problem is when I put some cells into control, vertical scroll bar is not displayed (there are more lines than can be displayed). Only horizontal. After I scroll the grid down using arrow keys or resize it (it is placed in resizable dialog) then vertical scroll bar appears. What could be the problem? I’ve also tried to implement srcollbars using this: http://www.prof-uis.com/FAQView.aspx?CID=107#FAQ513 But it worked the same way althought scroll bars are themed now. Call to Invalidate() or OnSwRecalcLayout( true ); after filling in data did not help. Any idea ? Thank you!
|
|
Rado Manzela
|
Mar 19, 2007 - 8:37 AM
|
|
|
Suhai Gyorgy
|
Mar 19, 2007 - 3:54 AM
|
You should call OnSwUpdateScrollBars(); , as Help says: "Recalculates the scroll bar state including its visibility, current page size and scroll button (thumb) position." In some cases you may also need to call OnSwDoRedraw();
|
|
Maxim Tebenev
|
Mar 18, 2007 - 11:46 PM
|
Hi Guys,
I would like to see following features in Prof-UIS currently not implemented (but required for me):
1. Themes support for page container control like in competetive XTP library. Namely it would be great to have theme like custom-drawn sample, but easily customizable and having animations.
2. Popup window control similar to MSN toolbar and Outlook (see example in XTP as well).
Best regards, Maxim.
|
|
Technical Support
|
Mar 19, 2007 - 11:48 AM
|
We added both features to our to-do list. The reason we have not yet added a system tray pop-up window is that there are quite a number of such controls with source code on the Internet.
|
|
Maxim Tebenev
|
Mar 19, 2007 - 2:12 PM
|
Thanks!
Yes, there are. But these controls aren’t supported in most cases. Just to clarify, I mean not only tray baloon but rather popup window that can be displayed in any position of the screen and has fade effect (or whatever) when appears. One more reason is to have one codebase for all such effects that already implemented in Prof-UIS.
Best regards, Maxim.
|
|
Maxim Tebenev
|
Mar 18, 2007 - 11:37 PM
|
Hi Guys,
Is there a way to hide control bars by pressing Esc button like in Visual studio (that should work if control bar is in auto-hide mode)?
Best regards, Maxim.
|
|
Vincent Lin
|
Apr 19, 2007 - 1:00 AM
|
Hello,
Is there a way to hide a auto-hide mode CExtControlBar when it is in active (or visiable) ? thanks.
|
|
Technical Support
|
Apr 19, 2007 - 5:47 AM
|
Although the window displayed from the grouped auto-hide tabs with sliding animation effect is not a control bar, it looks like a control bar. This window is called auto-hide slider and the child window of your control bar is temporarily moved into the auto-hide slider window when the latter needs to be displayed. So you should catch the keyboard event in the child control created inside the control bar, get control’s parent window (this will be auto-hide slider) and send the WM_CANCELMODE message to this parent auto-hide slider window.
|
|
Technical Support
|
Mar 19, 2007 - 8:53 AM
|
We added this feature but actually we have not found the way you can hide control bars with ESC in Visual Studio .NET 2003 and Visual Studio 2005have. Please contact us via email if need the updated code right away. You can turn on this feature by setting CExtControlBar::m_bAutoHideDeactivateOnEsc to true, which is false by default.
|
|
Maxim Tebenev
|
Mar 19, 2007 - 2:14 PM
|
Thanks guys!
I will wait till the next release of Prof-UIS to avoid much code merging. This feature works in VS 2003 when some source file is open and control bar has auto-hide mode on. For example, I press Ctrl+L to pop up Solution Explorer window and Esc to hide it back.
Best regards, Maxim.
|
|
the-coder
|
Mar 18, 2007 - 3:36 PM
|
’IntegrationWizard.exe’: Loaded ’C:\Programme\FOSS Software Inc\Prof-UIS\Support\IntegrationWizard.exe’, Binary was not built with debug information. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\ntdll.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\kernel32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\MFC42.DLL’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\msvcrt.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\gdi32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\user32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\advapi32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\rpcrt4.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\shell32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\shlwapi.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\ole32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\oleaut32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\winmm.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\olepro32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\mfc42loc.dll’, Binary was not built with debug information. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\EntAPI.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\psapi.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\netapi32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\ws2_32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\ws2help.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\wininet.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\crypt32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\msasn1.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\uxtheme.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\msimg32.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\msctf.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\version.dll’, No symbols loaded. ’IntegrationWizard.exe’: Loaded ’C:\WINDOWS\system32\apphelp.dll’, No symbols loaded. Unhandled exception at 0x00720c5d in IntegrationWizard.exe: 0xC0000005: Access violation reading location 0x0350429f.
|
|
Technical Support
|
Mar 19, 2007 - 8:44 AM
|
Thank you for reporting the problem. Would you help us find out what’s wrong? We can send you the Wizard’s source code so that you can compile it on your machine and run it in the debug mode. What we would like to look at is stack information when the crash occurs. Thank you.
|
|