Subject |
Author |
Date |
|
David Skok
|
Apr 25, 2007 - 8:24 AM
|
How can I prevent the close box ’X’ from being displayed? I also want to disable tearing a controlbar from it’s dock site to float it. I still want the control bar to be retractable and keep the pin icon.
|
|
Technical Support
|
Apr 26, 2007 - 4:03 AM
|
You can remove the close button by overriding OnNcAreaButtonsReinitialize() in this way virtual void OnNcAreaButtonsReinitialize()
{
ASSERT_VALID( this );
INT nCountOfNcButtons = NcButtons_GetCount();
if( nCountOfNcButtons > 0 )
return;
#if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
NcButtons_Add( new CExtBarNcAreaButtonAutoHide(this) );
#endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
// NcButtons_Add( new CExtBarNcAreaButtonExpand(this) );
NcButtons_Add( new CExtBarNcAreaButtonMenu(this) );
} To prevent the control bar from being switched into the floating state, you should also override the CExtControlBar::FloatControlBar() and CExtControlBar::ToggleDocking() methods. Just leave their bodies empty. But this will work with Visual Studio 2003’s drag-and-drop docking algorithm is used, not with Visual Studio 2005’s one. However you can always use the 2003 algoritm regardless of the current paint manager if you override CExtControlBar::OnQueryDockingType() and return __RESIZABLE_DOCKING_TYPE_STUDIO_2003 in it. Besides, you should do the same for tabbed control bar containers which are also control bars. This is described in How to remove the close button ("X") from the control bar?
|
|
David Skok
|
Apr 25, 2007 - 8:11 AM
|
CExtReportGridWnd will cause an app to crash when its destructor is called under the following conditions:
CExtReportGridColumns are registered, CExtReportGridItems are registered. NO CExtReportGridColumns are active.
An simple workaround is to make a column active in the destructor. Just letting you know in case others experience it.
|
|
Technical Support
|
Apr 26, 2007 - 3:39 AM
|
Thank you for reporting this problem. You can fix it by updating the following two methods: LONG CExtTreeGridWnd::ItemRemove(
HTREEITEM hTreeItem,
bool bChildrenOnly, // = false
bool bRedraw // = true
) // returns count of removed items
{
ASSERT_VALID( this );
if( hTreeItem == NULL )
return 0;
ItemFocusSet( NULL, false );
LONG nCountRemoved = (LONG)
_GetTreeData().TreeNodeRemove(
CExtTreeGridCellNode::FromHTREEITEM(hTreeItem),
bChildrenOnly
);
if( GetSafeHwnd() != NULL )
{
OnSwUpdateScrollBars();
if( bRedraw )
OnSwDoRedraw();
}
return nCountRemoved;
}
CExtReportGridWnd::~CExtReportGridWnd()
{
LONG nColCount = ColumnCountGet();
LONG nRowCount = RowCountGet();
if( nRowCount > 0 )
{
if( nColCount > 0 )
{
SelectionUnset( false, false );
SelectionInsertAt( 0, CRect( 0, 0, nColCount - 1, nRowCount - 1 ), false );
ReportItemUnRegisterSelection( false );
}
else
{
HTREEITEM htiRoot = ItemGetRoot();
if( htiRoot != NULL )
ItemRemove( htiRoot, true, false );
}
}
ReportColumnUnRegister();
}
|
|
Dusan Gibarac
|
Apr 25, 2007 - 7:34 AM
|
I need to keep background color white and all other controls have to follow current Prof-UIS theme. How to make it?
|
|
Dusan Gibarac
|
Apr 25, 2007 - 4:05 PM
|
I put this call into class constructor but it does not work with CExtResizablePropertPage, only works with CExtResizbleDialog. Any details where to put it?
|
|
Suhai Gyorgy
|
Apr 25, 2007 - 7:54 AM
|
There is a SetBkColor() method in CExtWS template class, so you can use it with both of the classes mentioned above.
|
|
Jia Hong Li
|
Apr 25, 2007 - 3:14 AM
|
I can’t find any info in ProfUIS samples and help file
|
|
Jia Hong Li
|
Apr 25, 2007 - 5:23 AM
|
I am checking the LanguageSwitcher now How to make StringTable of Resource in VS2005 to support multi-language by easy way ?
I check the rc file in LanguageSwitcher, I dont know how to split different language by easy way. By hand ? Seem not to be a smart way.
|
|
Technical Support
|
Apr 25, 2007 - 10:36 AM
|
You need to create different versions of the string table for each language. To create a language version of the string table select Insert Copy... from the context menu invoked over the string table name.
|
|
Chris Anderson
|
Apr 24, 2007 - 2:31 PM
|
When making a call to MenuInfoAdd in the ProfStudio example, the accelarator text vanishes from the menu items and shortcuts no longer work. Is there anything wrong that I am doing?
I just added the line below to the sample to reproduce the issue.
VERIFY( CExtCustomizeSite::MenuInfoAdd( this, _T("Document"), IDR_PROFSTUDIOTYPE, true ) );
Thanks
|
|
Chris Anderson
|
Apr 25, 2007 - 11:21 AM
|
Yes but this problem occurs with specific build settings of the Prof UIS dll as mentioned in an earlier post.
|
|
Technical Support
|
Apr 25, 2007 - 10:38 AM
|
|
|
Chris Anderson
|
Apr 25, 2007 - 9:45 AM
|
This issue is similar to the other issue I reported immediately below.
|
|
Chris Anderson
|
Apr 24, 2007 - 11:39 AM
|
I get a crash with the StyleEditor sample when MenuInfoLoadAccelTable is invoked. Could you please confirm if this an issue with customization? I am using a MBCS build of Prof UIS dll.
|
|
Chris Anderson
|
May 1, 2007 - 4:23 PM
|
I send the modified StyleEditor sample by mail to reproduce the issue.
|
|
Technical Support
|
May 2, 2007 - 8:26 AM
|
Thank you for the project. We reproduced the problem. But we are not sure that the problem has to do with Prof-UIS. If you search for new ACCEL in ../Prof-UIS/Src/ExtCustomize.cpp, you will find 3 lines like as follows: LPACCEL pAccelArray = new ACCEL[ nCount ]; If you replace [ nCount ] with [ nCount + 2 ] in all 3 cases and remove the state data from the registry, the sample will run successfully. The pAccelArray array is used in Win32 accelerator API invocations in all 3 cases and we have no idea why this memory block becomes corrupted if it is allocated with the correct size and 1-byte alignment. Finally we would recommend you roll back to the default settings to avoid potential problems in the future.
|
|
Chris Anderson
|
Apr 30, 2007 - 10:11 AM
|
Were you able to reproduce this issue?
|
|
Technical Support
|
May 1, 2007 - 1:23 PM
|
Actually not. To resolve this issue, would you modify the project settings so it crashes and send this project to us so we can figure out what’s wrong?
|
|
Chris Anderson
|
Apr 25, 2007 - 12:27 PM
|
I cleared the registry and still getting the crash. Could you modify the StyleEditor sample with the settings I mentioned above and try it out?
|
|
Technical Support
|
Apr 25, 2007 - 12:03 PM
|
You may need to clear up the registry state of your application to let the accelerators be loaded correctly instead of loading the previous saved state.
|
|
Chris Anderson
|
Apr 25, 2007 - 9:32 AM
|
I built MBCS Debug build of Prof UIS DLL with the Struct Member alignment set to "1 byte" and calling convention as "__stdcall". These are the settings I need for my application. I confirmed that the crash doesnt happen with the MBCS build with default settings. Could you please look at the issue and confirm?
|
|
Technical Support
|
Apr 25, 2007 - 12:08 PM
|
There should not be any problem with a custom structure alignment applied to the Prof-UIS code. Just make sure the same byte alignment is used in Prof-UIS as in your application.
|
|
Technical Support
|
Apr 25, 2007 - 3:58 AM
|
We have not encountered this. Please let us know if you modified the StyleEditor in some way?
|
|
Adam Keadey
|
Apr 24, 2007 - 8:26 AM
|
When I insert a row into a grouped CExtReportGridCtrl, that group expands after I call UpdateSortOrder.
1. How can I keep the node from expanding? 2. How can I detect if the node is already expanded? 3. If I expand the node and have not called the sort update, does the expanding code go ahead and update the sort order?
|
|
Technical Support
|
Apr 25, 2007 - 3:53 AM
|
The CExtReportGridWnd class is derived from CExtTreeGridWnd which implements a tree grid. So you can use CExtTreeGridWnd::Item***() methods based on HTREEITEM row handles for browsing the tree row. In the case of report grid control, the row’s HTREEITEM handle is a pointer to a report grid item (CExtReportGridItem* ). The leaf rows without child items are the report grid items you registered in the report grid. All other non-leaf tree rows are built by the report grid dynamically. This allows you to detect the exact location of each row in the report grid window. Unfortunately you cannot insert a new item without without rebuilding the sort/group order completely. This feature is in our to-do list and we will implement this soon.
|
|
Adam Keadey
|
Apr 25, 2007 - 6:51 AM
|
Thanks for the response that does explain some other questions I have.
My real concern is that when I insert an item int a collapsed group, it expands. I cannot have my application acting in this way.
I’m sure I can come up with a work around if this is the intended behavior.
|
|
Technical Support
|
Apr 28, 2007 - 12:15 PM
|
Actually what you want to achieve is not supported at the moment. We plan to add this soon.
|
|
Paul-henry AGUSTONI
|
Apr 24, 2007 - 6:22 AM
|
Can a CExtSplitterWnd manage a CExtTabPageContainer (CExtTabPageContainerOneNoteWnd) ? I try to create a project based on PageNavigator sample and TabbedBars sample.
m_wndSplitter.CreateView( 0, 1, RUNTIME_CLASS( CTabView ), CSize(0, 200), pContext );
where CTabView is a CExtTabPageContainerOneNoteWnd class:
class CTabView : public CExtWRB < CExtTabPageContainerOneNoteWnd > { // Construction public: DECLARE_DYNAMIC( CTabView ); CTabView (); ... }
Can you give me some pointers on how to accomplish this?
|
|
Technical Support
|
Apr 24, 2007 - 11:57 AM
|
Dynamic splitters are primary designed to contain CView -derived classes. You can use a custom view window with One Note tab page container inside the dynamic splitter pane.
You can also use static splitters and create One Note tab page container as a child of the splitter window.
|
|
Chris Anderson
|
Apr 23, 2007 - 5:16 PM
|
There is a lot of flicker when moving the floated toolbar over the docked toolbars and menubar. Is this a known issue? If yes, when is it likely to be addressed?
|
|
Chris Anderson
|
Apr 24, 2007 - 2:09 PM
|
Doesnt really help. Still see a lot of flicker.
|
|
Technical Support
|
Apr 25, 2007 - 10:43 AM
|
Would you make a screenshot, highlight the area that is flickering and send it to us? It would allow us to help you more efficiently. Please note if you are using dialogs or form views, you can avoid flickering by turning on the Clip Children style for the dialog template in the resource editor.
|
|
Technical Support
|
Apr 24, 2007 - 11:59 AM
|
You can decrease the flickering of the main window by changing CMainFrame::PreCreateWindow() method in the following way: BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( ! CExtNCW < CFrameWnd > :: PreCreateWindow( cs ) )
return FALSE;
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;
}
|
|
Chris Anderson
|
Apr 23, 2007 - 5:14 PM
|
I have a popup menu which is dynamically populated with menu items based on application context. In some cases there will not be any menu items for this popup menu. In this case I need to disable the popup menu. How would I go about doing this?
|
|
Technical Support
|
Apr 25, 2007 - 12:05 PM
|
To disable the entire popup menu, you should handle the CExtPopupMenuWnd::g_nMsgPrepareOneMenuLevel registered message. The code below disables the Toolbars sub menu. LRESULT CMainFrame::OnExtMenuPrepare(WPARAM wParam, LPARAM lParam)
{
CExtPopupMenuWnd::MsgPrepareMenuData_t * pData =
reinterpret_cast
< CExtPopupMenuWnd::MsgPrepareMenuData_t * >
( wParam );
ASSERT( pData != NULL );
CExtPopupMenuWnd * pPopup = pData->m_pPopup;
ASSERT( pPopup != NULL );
INT nItemPos = pPopup->ItemFindByText( _T("&Toolbars") );
if( nItemPos > 0 )
{
CExtPopupMenuWnd::MENUITEMDATA & _mii = pPopup->ItemGetInfo( nItemPos );
if( _mii.IsPopup() )
_mii.SetForcePopupDisabled( true );
}
return 1L;
}
|
|
Krustys Donuts
|
Apr 23, 2007 - 4:01 PM
|
We’ve built Prof-UIS thousands of times on our development systems, and haven’t once had a problem, until today. We have one system where we’re getting a compiler error that implies that some MFC source is missing. Typically, I thought the source came from the VS 2005 installation, but these compiler errors imply that the compiler is looking for source within the Prof-UIS folder. Do you think you can help us figure out this problem?
Here are two screenshots that show you what the error is:
http://download.velocity11.com/dmatsumoto/profuishelp1.jpg http://download.velocity11.com/dmatsumoto/profuishelp2.jpg
Thank you!
|
|
Technical Support
|
Apr 25, 2007 - 3:35 AM
|
Please start Visual Studio 8.0 and Click Tools | Options to invoke the Options dialog. Select Projects and Solutions | VC++ Directories and in the Show directories for:, select Include files. Then make sure that the path $(VCInstallDir)atlmfc\include is not missing there. You should also make sure that C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\src\mfc\occimpl.h exists.
|
|
Svetlozar Kostadinov
|
Apr 23, 2007 - 12:32 PM
|
Hello guys, does anybody knows how to attach data to each CExtPropertyItem instance without inheriting the class. It derives from CObject and the shortcomming of CObject is that it has no "slot" for custom data (like SetWindowLong() API function). I just need to attach one interface pointer to every property item, but don’t know where! Please help!
|
|
Technical Support
|
Apr 25, 2007 - 3:36 AM
|
There are two methods in the CExtPropertyItem class, LPARAM_Get() and LPARAM_Set() , which you can use for storing custom data.
|
|
Matthew Fraser
|
Apr 23, 2007 - 12:57 AM
|
Hi!!
If I can’t use such as the following methods, I realized that the following codes work fine. because I put some source codes generating dynamic popup menu items (started with 100 as below). and I don’t know how many submenu items there will be so I can’t fix something stored in the registry.
g_CmdManager->SetBasicCommands ProfileBarStateLoad
-------------------------------------------------------------------------------------------------
// This works fine instead of the two lines above. // This is only for a dynamic popup menu construction.
CExtCmdItem temp; temp.m_nCmdID = 100; g_CmdManager->CmdSetup(__PROF_UIS_PROJECT_CMD_PROFILE_NAME, temp);
-------------------------------------------------------------------------------------------------
Is there anything I need to consider if I want to use some codes above ? or is there an alternative way ?
Many thanks in advance again.
|
|
Technical Support
|
Apr 23, 2007 - 9:58 AM
|
As you know in Win32 toolbars, menus and dialog controls are used 16-bit unsigned item identifiers (0...65535 ). In Prof-UIS, command identifiers in the range of 29000 to 31000 are reserved for internal commands, built-in commands and dialog control identifiers. Zero is commonly used as the separator identifier. The ushort(-1) is commonly used as a popup submenu item identifier. Some of identifiers are allocated by Visual Studio resource editor and you can see these identifiers in resource.h file of your project. All the other identifiers can be used in your dynamic menus. The CExtPopupMenuWnd::ItemInsert() method inserts menu items which have references to command descriptions in the command manager. The CExtPopupMenuWnd::ItemInsertCommand() method inserts menu items which have NO references to command descriptions in the command manager and NOT updated with MFC’s command updating mechanism. The last method is convenient for constructing dynamic popup menus. You can also let the command manager to allocate the command identifiers automatically by invoking g_CmdManager()->CmdAllocPtr(0) .
|
|
Matthew Fraser
|
Apr 23, 2007 - 12:47 AM
|
Hi!!
If I got the following codes, how to increase the width of a popup menu ?
---------------------------------------------------------------------------------------------
LRESULT CChildFrame::OnExtMenuPrepare(WPARAM wParam, LPARAM lParam) { CExtPopupMenuWnd::MsgPrepareMenuData_t * pData = reinterpret_cast < CExtPopupMenuWnd::MsgPrepareMenuData_t * > ( wParam ); ASSERT( pData != NULL ); CExtPopupMenuWnd * pPopup = pData->m_pPopup; ASSERT( pPopup != NULL );
// Here...I can, of course, use pPopup (which points a popup menu) // I want to increase and extend its width here...
Any comment would be very very welcome. Thanks in advance.
|
|
Technical Support
|
Apr 23, 2007 - 9:48 AM
|
You can insert one or more space characters at the beginning/end of a menu item. You can also add the left area to the menu as it is demonstrated in the ProfUIS_Controls sample. Please let us know more details about this? Why do you need a larger menu than that provided by the currently installed paint manager by default?
|
|
Matthew Fraser
|
Apr 24, 2007 - 3:44 AM
|
As it is a dynamic popup menu, I don’t know the length of some menu items. If the length of a menu item is short enough, it is no problem. But what-if it is long... At the moment, around 10 characters can be shown. The remaining characters are shown like dot dot dot (...) or nothing being shown. So I just need to increase its width.
Thanks.
|
|
Technical Support
|
Apr 25, 2007 - 2:48 AM
|
We guess the following line is missing in your CChildFrame::OnExtMenuPrepare() method: pData->m_bMenuChanged = true; This causes that the popup menu’s layout is not recomputed after you have initialized it dynamically.
|
|
KI HWAN CHO
|
Apr 23, 2007 - 12:20 AM
|
I tried to compile sample project with VS2005, but I didn’t get any message from vs2005 It was occured the unknown software exception by devenv.exe I used Prof-UIS v 2.64 and VS2005 8.0.50727.42 (RTM.050727-4200) However, I could compile with VS6.0
How can I solve this problem?
Please, help me.
|
|
KI HWAN CHO
|
Apr 23, 2007 - 4:58 AM
|
Because couldn’t compile ProfUISDLL project
|
|
Technical Support
|
Apr 23, 2007 - 9:41 AM
|
It seems there is a bug in Visual Studio 2005 when installed on the Windows with East Asian languages. We described this in this thread. So you can workaround this by compiling Prof-UIS on an English Windows (or under the English locale) or by cutting some resources.
|
|
tera t
|
Apr 22, 2007 - 7:23 PM
|
Hi
From a ftp site, I acquired prof-uis0418.zip.
However, there was not print page appointment.
But other bugs are revised.
When does completion of Version that these functions are usable rightly seem to be?
|
|
Technical Support
|
Apr 23, 2007 - 9:30 AM
|
We are now testing the next version and will publish it soon (within two weeks). The fix in question will be in this next version. We are sorry for this little delay.
|
|
Christoph Luedi
|
Apr 21, 2007 - 5:16 PM
|
The app ran fine under XP, but on Vista the Edit controls in a CExtResizableDialog show a strange behavior: The text becomes invisible when the mouse cursor crosses the control border. Is is still there, but it’s probably not redrawn... it might be related with the scrollbar, it only appears if a scrollbar is visible. If I select it with the mouse the selected line becomes visible again as it is redrawn. The behavior occurs after merely adding a control in the resource editor, without adding a variable to it.
Is there a chance that you can tell what could be the reason or how I could avoid this, or should I try to create a small app that reproduces the behavior?
Thanks, Chris
|
|
Christoph Luedi
|
May 27, 2007 - 3:06 PM
|
(sorry - previous post was posted by mistake)
I noticed that the new version 3.70 fixed the problem, but not in every place.
I have a wizard: CExtNCW<CWizard> dlg; dlg.DoModal();
The wizard is a property sheet, it has a page: class CWizard : public CExtResizablePropertySheet { // ... CExtAPPG<CImportWizardSourcePage> m_sourcePage; //... };
The page is a property page, it has an edit control: class CImportWizardSourcePage : public CExtResizablePropertyPage { //... CExtEdit m_editSourceEdit; //... }
This edit control has both sliders visible, and both autoscroll flags set. The text disappers if the mouse crosses the edit control border. If I hide the sliders, the text remains there but it flickers if the mouse crosses the border.
Please advise what I could do to avoid this problem, I would like to release my software soon...
Thank you very much, Chris
|
|
Christoph Luedi
|
May 27, 2007 - 2:58 PM
|
I noticed that the new version 3.70 fixed the problem, but not in every place.
I have a Wizard Page with a CExtEdit: class CImportWizardSourcePage : public CExtResizablePropertyPage
|
|
Technical Support
|
May 29, 2007 - 10:14 AM
|
Thank you for your comments. Please open the CExtResizablePropertyPage::OnHookWndMsg method and replace the existing WM_ERASEBKGND case block with the following: case WM_ERASEBKGND:
{
ASSERT_VALID( this );
// look through the message map to see
// if this message is handled by user
const AFX_MSGMAP_ENTRY * lpEntry =
_FindMessageMapHandler(
nMessage,
0, 0
);
if( lpEntry != NULL )
{
// invoke the user defined message handler
union
{
AFX_PMSG pfn;
BOOL (AFX_MSG_CALL CWnd::*pfn_bD)( CDC* );
} mmf;
mmf.pfn = lpEntry->pfn;
LRESULT lResult =
(this->*mmf.pfn_bD)( CDC::FromHandle( ( HDC ) wParam ) );
return lResult > 0L ? true : false;
} // if( lpEntry != NULL )
HDC hDC = reinterpret_cast < HDC > (wParam);
ASSERT( hDC != NULL );
HWND hWnd = ::WindowFromDC( hDC );
if( hWnd != NULL
&& hWnd != m_hWnd
)
return
CExtHookSink::OnHookWndMsg(
lResult,
hWndHooked,
nMessage,
wParam,
lParam
);
if( (GetStyle() & WS_CLIPCHILDREN) != 0
&& PmBridge_GetPM()->GetCb2DbTransparentMode(this)
)
return (!0L);
// HDC hDC = reinterpret_cast < HDC > (wParam);
// ASSERT( hDC != NULL );
CExtPaintManager::stat_ExcludeChildAreas(
hDC,
GetSafeHwnd(),
CExtPaintManager::stat_DefExcludeChildAreaCallback
);
return (!0L);
} // case WM_ERASEBKGND Do not forget to recompile the library.
|
|
Christoph Luedi
|
May 11, 2007 - 8:30 AM
|
Thanks for this reply.
Can you name a date when a fix is available? Or better, can you tell me a workaround or how I can manually fix this?
I plan to deliver my application soon, and this is a critical issue...
Thanks, Chris
|
|
Technical Support
|
May 14, 2007 - 10:57 AM
|
Please open the CExtWS::WindowProc method and replace the if( message == WM_ERASEBKGND ) { ... } code snippet with the following: if( message == WM_ERASEBKGND )
{
ASSERT_VALID( this );
// look through the message map to see
// if this message is handled by user
const AFX_MSGMAP_ENTRY * lpEntry =
_FindMessageMapHandler(
message,
0, 0
);
if( lpEntry != NULL )
{
// invoke the user defined message handler
union
{
AFX_PMSG pfn;
BOOL (AFX_MSG_CALL CWnd::*pfn_bD)( CDC* );
} mmf;
mmf.pfn = lpEntry->pfn;
LRESULT lResult =
(this->*mmf.pfn_bD)( CDC::FromHandle( ( HDC ) wParam ) );
return lResult;
} // if( lpEntry != NULL )
HDC hDC = reinterpret_cast < HDC > (wParam);
ASSERT( hDC != NULL );
HWND hWnd = ::WindowFromDC( hDC );
if( hWnd != NULL
&& hWnd != m_hWnd
)
return CExtWSBase::WindowProc( message, wParam, lParam );
if( (GetStyle() & WS_CLIPCHILDREN) != 0
&& PmBridge_GetPM()->GetCb2DbTransparentMode(this)
)
return (!0L);
CExtPaintManager::stat_ExcludeChildAreas(
hDC,
GetSafeHwnd(),
CExtPaintManager::stat_DefExcludeChildAreaCallback
);
return CExtWSBase::WindowProc( message, wParam, lParam );
} // if( message == WM_ERASEBKGND )
|
|
Technical Support
|
Apr 25, 2007 - 12:01 PM
|
We confirm that it is a bug and will fix it as soon as possible. Thank you for reporting it.
|
|
Chris Anderson
|
Apr 20, 2007 - 3:58 PM
|
Hi, I have a form with Control Group Box, Button, Radio Buton, etc. These are created dynamically. The Group Box overlaps the other controls. When I click within the group box area, then the control will be displayed. The problem might be due to the order of creation or the tab order set. Is there a way to send the group box to the back always?
Thanks
|
|
Technical Support
|
Apr 22, 2007 - 9:07 AM
|
You should create a group boxe before you create any other controls in it. Alternatively, you can move the group boxe to the bottom Z-order using the SetWindowPos() API with HWND_BOTTOM parameter or CWnd::SetWindowPos() method with the &wndBottom parameter.
|
|
Suhai Gyorgy
|
Apr 22, 2007 - 6:06 AM
|
From Support’s FAQ: If you put controls on a dialog template, make sure they are assigned the proper tab order. Since the Prof-UIS group box has a non-transparent background, the tab order is essential. Windows paints controls on the dialog step by step starting from the control with the highest tab order number to the control with the lowest number. So, ensure your group box is assigned the highest tab order number.
In your case, it means you should create the Group box as the last control.
|
|
Dusan Gibarac
|
Apr 20, 2007 - 1:08 PM
|
We have to run Sheet/Pages in Tab mode what works fine. Now we have to make position to the particular tab and we use:
sheet.SetActivePage( x ).
It shows target tab, but swithces to Wizard mode, but we do not have tabs any more. So, how can we come to tabs and position to the particular tab?
|
|
Technical Support
|
Apr 22, 2007 - 9:03 AM
|
Is it possible to reproduce this problem using our ResizablePropertySheet sample? You can also send us your test project that demonstrates the problem.
|
|
Chris Thomas
|
Apr 20, 2007 - 9:12 AM
|
I see this in the BitmapEditor example, what does it do?
class CMainFrame : public CExtNCW < CFrameWnd > ...
I experimentally removed CExtNCW<>, and the app seemed to run the same, with no visual differences. I can’t find it in the docs.
Thanks
|
|
Technical Support
|
Apr 20, 2007 - 10:20 AM
|
The CExtNCW template class provides a skinned non-client area but only if the currently installed paint manager supports it. The skinned non-client areas are currently provided by all the 2007 paint managers and ProfSkin paint manager.
|