Subject |
Author |
Date |
|
Pierre MEDART
|
Nov 26, 2007 - 8:38 AM
|
Hi is there a way (I’m sure there is) to change the default color in the background.
I guess you use the AppWorkspace default color.
|
|
Pierre MEDART
|
Nov 28, 2007 - 9:17 AM
|
I want to change the color that is used an "empty" TabMdi -> I mean I don’t want to use the system color AppWorkspace.
What you propose changes the background color in the tab selector.
|
|
Technical Support
|
Nov 27, 2007 - 5:17 AM
|
You can repaint the background of a tab window by overriding of its CExtTabWnd::OnTabWndEraseClientArea() method.
|
|
Louis RUBET
|
Nov 26, 2007 - 7:10 AM
|
hi
as the title says..
Does GUI persistence manage CExtSplitterWnd sizes (width / height persistence of all child views) ? If not, have you some ready-made code which does it ?
|
|
Louis RUBET
|
Dec 12, 2007 - 2:20 AM
|
|
|
Svetlozar Kostadinov
|
Dec 6, 2007 - 5:41 PM
|
Louis, you may try the SSplitter control found in CodeProject.com. It supports registry saving/loading and other features.
|
|
Technical Support
|
Nov 26, 2007 - 1:30 PM
|
The Prof-UIS’s CExtSplitterWnd is just a re-painted version of the MFC’s CSplitterWnd . So CExtSplitterWnd does not add any new functionality. Unfortunately the MFC’s splitter does not support persistence for pane width/heights. The solution can be to get the width and/or height values and save them.
|
|
Debabrata Mukherjee
|
Nov 24, 2007 - 11:39 PM
|
My application icon that should come when I press "ALT + TAB" has gone missing after integration with Prof-UIS. It shows only a default "White Rectangle" icon that shows for default ".exe" files. Can you tell me the reason and what needs to be done inorder to avoid this?
PLease reply ASAP.
|
|
Suhai Gyorgy
|
Nov 27, 2007 - 1:59 AM
|
I’ve tried with some of the Prof-UIS sample applications and the icon looked ok on them. Please check if you have this code in your CMainFrame::OnCreate CWinApp * pApp = ::AfxGetApp();
...
HICON hIcon = pApp->LoadIcon( IDR_MAINFRAME );
ASSERT( hIcon != NULL );
SetIcon( hIcon, TRUE );
SetIcon( hIcon, FALSE );
|
|
Ismael Fuentes
|
Nov 23, 2007 - 4:53 AM
|
Dear ProfUIS Support Team,
We want to use a dialog with the PaintManager of Office 2007, which can change in size and also change to fullscreen when necessary, but without using background style of CExtResizableDialog. Therefore we have used CExtNCW<CDialog>.
It works fine with the changes in size, but when changing to fullscreen always shows the header title and frameborder, despite being forced to be disabled.
If we use simple CDialog all works correctly, also in fullscreen, but we don?t see the Office 2007 style.
To switch CDialog to fullscreen we use: CRect rc; ::GetWindowRect(::GetDesktopWindow(), &rc); ::SetWindowLong(m_hWnd, GWL_STYLE, 0); ::SetWindowPos(m_hWnd, wndTopMost, rc.left, rc.top, rc.Width(), rc.Height(), SWP_FRAMECHANGED|SWP_SHOWWINDOW); RedrawWindow(NULL, NULL, RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE|RDW_ERASENOW|RDW_NOFRAME);
|
|
Technical Support
|
Nov 23, 2007 - 6:54 AM
|
We are sorry but the information you provided is not enough to find out what’s wrong. Would you send us a small dialog-based project that demonstrates the problem?
|
|
Jacek Piszczek
|
Nov 22, 2007 - 1:59 AM
|
Hi!
There’s a window layout problem when changing the paintmanager in a ribbon application. To reproduce: start the RibbonBar example, select the XP theme, exit the example, start it again, select an Office 2007 theme. As the result the window gets "double" top border and the window close/size buttons are not clickable. It doesn’t happen if the app initially starts with an Office 2007 theme.
Reproduced with 2.81 and 2.82beta
|
|
Jacek Piszczek
|
Nov 23, 2007 - 2:14 AM
|
Thanks for the quick reply. Your fix works.
|
|
Technical Support
|
Nov 22, 2007 - 1:12 PM
|
Thank you for this bug report. To fix it please, add one line of code at the beginning of the CExtPmBridgeNC::_AdjustThemeSettings() method: void CExtPmBridgeNC::_AdjustThemeSettings()
{
if( m_pNcFrameImpl == NULL )
return;
m_pNcFrameImpl->m_bNcFrameImpl_CreatePassed = true; // !!! THIS LINE WAS ADDED !!!
HWND hWndOwn = PmBridge_GetSafeHwnd();
if( hWndOwn == NULL )
return;
. . .
|
|
Raha Mohtasham
|
Nov 21, 2007 - 5:53 AM
|
hi,
is there any sample for creating context menus on the fly (Without using any Resources)?
As simple as: ______ | Item1 | (Item1 was clicked) | -------- | | Item2 | (Item2 was clicked) | Item3 | (Item3 was clicked) |_____|
Thanks
RM
|
|
Technical Support
|
Nov 21, 2007 - 12:20 PM
|
You can do this using the three methods below
1) The CExtPopupMenuWnd::CreatePopupMenu()
2) CExtPopupMenuWnd::ItemInsertCommand() or CExtPopupMenuWnd::ItemInsert() . You can use the CExtPopupMenuWnd::TYPE_SEPARATOR and CExtPopupMenuWnd::TYPE_POPUP constants as command identifiers for inserting separators and popup sub menu items.
3) CExtPopupMenuWnd::TrackPopupMenu()
Generally the context menu initialization may look like below:
HWND hWnd = . . . // target window for sending commands from popup menu
CExtPopupMenuWnd * pPopup = new CExtPopupMenuWnd;
if( ! pPopup->CreatePopupMenu( hWnd ) )
{
delete pPopup;
return . . .
}
pPopup->ItemInsert( . . . )
pPopup->ItemInsert( . . . )
pPopup->ItemInsert( . . . )
. . .
if( ! pPopup->TrackPopupMenu( . . . ) )
{
delete pPopup;
return . . .
}
|
|
Debabrata Mukherjee
|
Nov 16, 2007 - 8:42 AM
|
I have CView derived class that needs to be destroyed at the end shutdown of my application . Here is the destructor.
CSaIsPresentationView::~CSaIsPresentationView() { CView::PostNcDestroy(); delete this; }
But in debug mode, it does not give a clean shutdown and goes to a virtual hang, with the stack pointing at the destructor. multiple times.
Can you suggest a way out. Obviously this started to happen after integration with Prof-UIS
|
|
Technical Support
|
Nov 26, 2007 - 1:32 PM
|
The Invalid Argument Exception problem is not the first problem. At least we are sure that delete this; cannot be invoked in the destructor of any class.
|
|
Debabrata Mukherjee
|
Nov 24, 2007 - 11:36 PM
|
The issue is still not resolved. If I remove the "delete this", a CInvalid Arguement Exception" is thrown while closing my application. Please reply urgently
|
|
Suhai Gyorgy
|
Nov 27, 2007 - 1:30 AM
|
You should remove both CView::PostNcDestroy and delete this from your destructor. So your destructor should be empty.
|
|
Technical Support
|
Nov 16, 2007 - 1:31 PM
|
The source code of this destructor is not incorrect. You should not delete the same class in its destructor. You should not try to invoke PostNcDestroy() either. MFC views and frame windows are destroyed and delete themselves automatically. I.e. the CView::PostNcDestroy() method invokes the delete this; code itself.
|
|
Offer Har
|
Nov 14, 2007 - 4:36 PM
|
Dear Support,
I need to display a combo-box cell with each item in a defined color. When an item is selected, (In-Place is finished) the text displayed should also be in the color of the selected item.
Please advise.
Thanks, Ron.
|
|
Technical Support
|
Nov 19, 2007 - 11:30 AM
|
Please contact via email so we can provide you with a link to the latest source code.
|
|
Technical Support
|
Nov 19, 2007 - 11:28 AM
|
We have just implemented this feature. You can use the following methods for getting and setting item colors:
CExtGridCellComboBox::GetItemBackColor() CExtGridCellComboBox::SetItemBackColor()
CExtGridCellComboBox::GetItemTextColor() CExtGridCellComboBox::SetItemTextColor()
|
|
Do Park
|
Nov 14, 2007 - 3:29 PM
|
Right now, I am using the theme "Office2007 R3 Obsidian" at my application.
But under this theme, CExtPropertyGridTipBar is not readable because its text is black and its background is very dark gray..
Can you give me some tips to change color of either text or background in CExtPropertyGridTipBar ?
Thanks.
Do Park
|
|
Technical Support
|
Nov 16, 2007 - 9:39 AM
|
We changed the text color to white in the CExtPropertyGridTipBar control bar in the Office 2007 Black theme . Please update the following method void CExtPropertyGridTipBar::DoPaint( CDC * pDC )
{
ASSERT_VALID( this );
ASSERT_VALID( pDC );
CExtPaintManager * pPM = PmBridge_GetPM();
CRect rcClient;
GetClientRect( &rcClient );
CExtMemoryDC dc( pDC, &rcClient );
if( (! pPM->GetCb2DbTransparentMode( this ) )
|| (! pPM->PaintDockerBkgnd(
true,
dc,
this
)
)
)
dc.FillSolidRect(
&rcClient,
pPM->GetColor(
CExtPaintManager::CLR_3DFACE_OUT
)
);
CRect rcDraw = rcClient;
rcDraw.top += m_nSeparatorHeight;
if( rcDraw.left >= rcDraw.right
|| rcDraw.top >= rcDraw.bottom
)
return;
pPM->PaintResizableBarChildNcAreaRect(
dc,
rcDraw,
this
);
rcDraw.DeflateRect( 5, 3 );
if( rcDraw.left >= rcDraw.right
|| rcDraw.top >= rcDraw.bottom
)
return;
CExtSafeString str = PropertyNameGet();
if( str.IsEmpty() )
return;
int nOldBkMode = dc.SetBkMode( TRANSPARENT );
COLORREF clrText =
pPM->QueryObjectTextColor(
dc,
true,
false,
false,
false,
(CObject*)this
);
if( clrText == COLORREF(-1L) )
clrText =
pPM->GetColor(
COLOR_BTNTEXT,
(CObject*)this
);
COLORREF clrOldTextColor =
dc.SetTextColor( clrText );
CFont * pOldFont =
dc.SelectObject(
&pPM->m_FontBold
);
CRect rcMeasure( 0, 0, 0, 0 );
dc.DrawText(
LPCTSTR(str),
str.GetLength(),
&rcMeasure,
DT_SINGLELINE|DT_LEFT|DT_TOP|DT_END_ELLIPSIS|DT_CALCRECT
);
dc.DrawText(
LPCTSTR(str),
str.GetLength(),
&rcDraw,
DT_SINGLELINE|DT_LEFT|DT_TOP|DT_END_ELLIPSIS
);
str = PropertyDescriptionGet();
if( ! str.IsEmpty() )
{
rcDraw.top += rcMeasure.Height() + 3;
if( rcDraw.left < rcDraw.right
&& rcDraw.top < rcDraw.bottom
)
{
dc.SelectObject(
&pPM->m_FontNormal
);
dc.DrawText(
LPCTSTR(str),
str.GetLength(),
&rcDraw,
DT_LEFT|DT_TOP|DT_WORDBREAK
);
}
} // if( ! str.IsEmpty() )
dc.SelectObject( pOldFont );
dc.SetTextColor( clrOldTextColor );
dc.SetBkMode( nOldBkMode );
}
|
|
Do Park
|
Nov 16, 2007 - 11:13 AM
|
This code is working perfect.
Thanks.
Do Park
|
|
tera t
|
Nov 13, 2007 - 7:36 PM
|
|
|
Technical Support
|
Nov 16, 2007 - 6:18 AM
|
The chevron button and its menu are built-in parts of the toolbar window. That is why you didn’t get the menu item painting message. In fact, this menu is completely handled by the toolbar window. All the menu notification messages are sent to the toolbar window instead of the main frame window.
|
|
Pierre MEDART
|
Nov 13, 2007 - 11:04 AM
|
Hi,
I need to set a consistent font in my entire app.
How can I change the default font : in the Title Bar, TabControl and Menu ?
Regards,
Pierre
|
|
Technical Support
|
Nov 15, 2007 - 3:13 AM
|
|
|
Pierre MEDART
|
Nov 14, 2007 - 3:33 AM
|
This is working fine for the Menu etc
What is the CFont object I need to update to reflect the changes in the tabcontrol and mainframe title bar (still using MS San Serif ) ?
|
|
Technical Support
|
Nov 13, 2007 - 1:49 PM
|
In most cases we use the font set in CExtPaintManager::m_FontNormal . But in the FunnyBars sample, you can find how to change the paint manager’s font on-the-fly.
|
|
Thomas Fuchs
|
Nov 13, 2007 - 9:07 AM
|
Hello,
In some of your themes (e.g. VS2005, Office2003) disabled menu and toolbar icons look reddish. This applies to the current Prof-UIS 2.81 version and did not appear in Prof-UIS 2.53, for example. How can I make sure that disabled icons always appear grey, regardless of the selected theme?
Thanks for your help and best regards, Thomas
|
|
Technical Support
|
Nov 16, 2007 - 9:50 AM
|
We can check our code that colorizes disabled icons. Would you send us a couple of screenshots that show the differences between Office and Prof-UIS icons?
|
|
Technical Support
|
Nov 13, 2007 - 2:01 PM
|
We tried to make disabled icons looking as close to those in Microsoft applications as possible. Disabled icons in Office 2003 / Studio 2005 themes are created by converting original normal icons to mono/grayscale color icons and colorizing them. The colorization has different colors on Windows 2000 and different Windows XP desktop themes. It’s not possible to change the colorization algorithm in Prof-UIS 2.81 and earlier versions, but it’s possible to do this in 2.82 which to be released soon. Prof-UIS 2.82 has new virtual methods in paint manager classes for generating disabled icons.
|
|
Thomas Fuchs
|
Nov 14, 2007 - 1:24 AM
|
Thanks for your quick reply. I understand what you’re saying, however, I cannot confirm it. My Outlook 2003 (as Office 2003 application) running in standard XP theme shows gray icons when they are disabled, and so does my VS 2005 application running on standard Vista theme as well. I have never ever seen any application at all whose disabled icons appear reddish. Plus, as already said before, your Pro-UIS 2.53 version did not show it either, neither on XP nor on Vista. Anyway, we’ll see how it turns out in your upcoming release.
Thanks again and best regards, Thomas
|
|
tera t
|
Nov 13, 2007 - 1:17 AM
|
|
|
Technical Support
|
Nov 13, 2007 - 10:00 AM
|
It is not completely clear what you want to show us on this screenshot but we can say that the checked (radio) state of the menu items is based on MFC’s command updating mechanism.
So to check/uncheck a menu item, you should add a command updating method for the command associated with the menu item to your window that is the target of the popup menu commands. This method can be generated by the Visual Studio automatically.
Here is the method declaration: afx_msg void OnUpdateMyCmd(CCmdUI* pCmdUI);
Here is the message map entry: ON_UPDATE_COMMAND_UI(ID_MY_CMD, OnUpdateMyCmd) Here is the method body: void CMainFrame::OnUpdateMyCmd(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck( 1 ); // check
or
pCmdUI->SetCheck( 0 ); // uncheck
}
|
|
Technical Support
|
Nov 13, 2007 - 9:57 AM
|
We are sorry but it is not completely unclear what you mean. Would you rephrase your question or provide some screenshot?
|
|
tera t
|
Nov 13, 2007 - 1:27 AM
|
Hello.
The expression method of the icon. Will the selection choice be a made thing?
Thank you.
|
|
Brian Horn
|
Nov 12, 2007 - 10:52 PM
|
Hi,
If we try to add button which is under dropdown menu in quick access bar then we can’t see that icon in quick access launch bar. This problem exists in ribbonbar.exe as well.
Try to add noborder or all border button from broder group under paragraph group under hometab into quick access bar. That button will not appear in quick access launch bar.
|
|
Technical Support
|
Nov 14, 2007 - 1:20 PM
|
Thank you for reporting this bug. To fix it, please update the source code for the following method: void CExtRibbonOptionsPageCustomizeQATB::OnQatbButtonAdd()
{
ASSERT_VALID( this );
CExtRibbonBar * pRibbonBar = RibbonOptionsPage_GetBar();
if( pRibbonBar == NULL )
return;
ASSERT_VALID( pRibbonBar );
if( m_pNodeColQATB == NULL )
return;
ASSERT_VALID( m_pNodeColQATB );
INT nSrcSel = m_listBoxChooseCommandsFrom.GetCurSel();
if( nSrcSel < 0 )
return;
INT nDstPosLB = m_listBoxCustomizeTarget.GetCount(),
nDstSel = m_listBoxCustomizeTarget.GetCurSel();
if( nDstSel >= 0 )
nDstPosLB = nDstSel + 1;
CExtCustomizeCmdTreeNode * pNode =
m_listBoxChooseCommandsFrom.m_arrCmds[ nSrcSel ];
if( pNode == NULL )
{ // ribbon separator item
} // ribbon separator item
else
{ // normal item
CExtCustomizeCmdTreeNode * pNewNode = pNode->CloneNode();
if( pNewNode == NULL )
return;
CExtRibbonNode * pNewRibbonNode = DYNAMIC_DOWNCAST( CExtRibbonNode, pNewNode );
if( pNewRibbonNode == NULL )
{
pNewRibbonNode =
new CExtRibbonNode(
pNode->GetCmdID(false),
pNode->GetCmdID(true),
NULL,
pNode->GetFlags(),
NULL,
NULL,
NULL,
pNode->GetLParam(),
NULL
);
delete pNewNode;
pNewNode = pNewRibbonNode;
} // if( pNewRibbonNode == NULL )
ASSERT( pNewRibbonNode != NULL );
CArray < DWORD, DWORD > arrILEtoILV;
arrILEtoILV.Add(
__EXT_RIBBON_MAKE_RULE_ARRAY_ENTRY(
__EXT_RIBBON_ILE_MAX,
__EXT_RIBBON_ILV_SIMPLE_SMALL,
false
)
);
pNewRibbonNode->RibbonILE_RuleArraySet( arrILEtoILV );
pNewNode->ModifyFlags( __ECTN_RIBBON_QA_CLONED_COPY );
m_pNodeColQATB->InsertNode( NULL, pNewNode, nDstPosLB );
pNewNode->Ribbon_InitCommandsListBox( m_listBoxCustomizeTarget, nDstPosLB, true, false );
} // normal item
m_listBoxCustomizeTarget.SetCurSel( nDstPosLB );
_UpdateButtons();
}
|
|
Courtney Smith
|
Nov 12, 2007 - 11:09 AM
|
Hello, I have a problem with the UIstate. We have a dialog that gets created at Oncreate in Mainfrm and it has a CExtGridWnd in it. We hide this until the user calls it up. The problem is that if it doesn’t get viewed it breaks all uistate files when trying to load them to change the GUI. If you view the dialog it doesn’t break the UIstate and you can load the state files, but if you don’t we get a break at DWORD rtPageStates = 0; ar >> rtPageStates; in function: void CMainFrame::DoLoadBarStateFromFile() { // begin prompting user CFileDialog dlg( TRUE, _T("UI state"), _T(".\\Default.UI state"), OFN_ENABLESIZING|OFN_EXPLORER |OFN_LONGNAMES|OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST |OFN_NOCHANGEDIR|OFN_NODEREFERENCELINKS , _T("UI state files (*.UI state)|*.UI state|All files (*.*)|*.*||"), this ); dlg.m_ofn.lpstrTitle = _T("Open UI state from file"); if( dlg.DoModal() != IDOK ) return; ASSERT( dlg.m_ofn.lpstrFile != NULL ); // end prompting user databasecreate = false; RemoveExtControlBar( & m_DatabaseResizable); RecalcLayout();
try { CFile _file( dlg.m_ofn.lpstrFile, /// specify exact file path instead CFile::modeRead|CFile::shareExclusive ); CArchive ar( &_file, CArchive::load);
CWinApp * pApp = ::AfxGetApp(); ASSERT( pApp != NULL ); ASSERT( pApp->m_pszRegistryKey != NULL ); ASSERT( pApp->m_pszRegistryKey[0] != _T(’\0’) ); ASSERT( pApp->m_pszProfileName != NULL ); ASSERT( pApp->m_pszProfileName[0] != _T(’\0’) );
ShowWindow( SW_HIDE ); VERIFY( CExtControlBar::ProfileBarStateSerialize( ar, this, &m_dataFrameWP ) ); VERIFY( g_CmdManager->SerializeState( pApp->m_pszProfileName, ar ) ); //here DWORD rtPageStates = 0; ar >> rtPageStates; m_wndFlatTabPageRealTime.PageVisibleSet( 0, ( rtPageStates & 0x00000001 ) ? true : false ); m_wndFlatTabPageRealTime.PageVisibleSet( 1, ( rtPageStates & 0x00000002 ) ? true : false ); m_wndFlatTabPageRealTime.PageVisibleSet( 2, ( rtPageStates & 0x00000004 ) ? true : false ); m_wndFlatTabPageRealTime.PageVisibleSet( 3, ( rtPageStates & 0x00000008 ) ? true : false ); m_wndFlatTabPageRealTime.PageVisibleSet( 4, ( rtPageStates & 0x00000016 ) ? true : false ); //to here DWORD fcPageStates = 0; ar >> fcPageStates; m_wndFlatTabPageFuture.PageVisibleSet( 0, ( fcPageStates & 0x00000001 ) ? true : false ); m_wndFlatTabPageFuture.PageVisibleSet( 1, ( fcPageStates & 0x00000002 ) ? true : false ); m_wndFlatTabPageFuture.PageVisibleSet( 2, ( fcPageStates & 0x00000004 ) ? true : false );
DWORD iwPageStates = 0; ar >> iwPageStates; m_wndFlatTabPageInfoBox.PageVisibleSet( 0, ( iwPageStates & 0x00000001 ) ? true : false ); m_wndFlatTabPageInfoBox.PageVisibleSet( 1, ( iwPageStates & 0x00000002 ) ? true : false );
const int nSel = 0; m_wndFlatTabPageRealTime.PageSelectionSet( nSel ); m_wndFlatTabPageFuture.PageSelectionSet( nSel ); m_wndFlatTabPageInfoBox.PageSelectionSet( nSel );
ActivateFrame( SW_SHOW ); return; } // try catch( CException * pXept ) { CString sErrorDescription; VERIFY( pXept->GetErrorMessage( sErrorDescription.GetBuffer(8192), 8192 ) ); sErrorDescription.ReleaseBuffer(); ASSERT( !sErrorDescription.IsEmpty() ); pXept->Delete(); ActivateFrame( SW_SHOW ); LPCTSTR display; display = "New dialogs are now available in workspace. Please resave workspace."; MessageBox(display, _T("Update Workspace"), MB_OK ); } // catch( CException * pXept ) catch( ... ) { ActivateFrame( SW_SHOW ); MessageBox( _T("Unknown exception caught"), _T("State load failed"), MB_ICONERROR ); } // catch( ... ) return; } Any help with this would be greatly appreciated.
Thanks in advance. Courtney
|
|
Technical Support
|
Nov 13, 2007 - 2:52 AM
|
We are sorry but there is not enough information in your message to find out what’s wrong. What is RemoveExtControlBar() ? We guess you should verify that the control state data contains exactly the same set of bar state descriptions which match the set of bars really created in the main frame window. This is essential requirement. If you need to make some of your control bars initially hidden in any case, then you should load bar states and then forcibly hide this bar. You should not remove/destroy it. You can set its CExtControlBar::m_bAppearInDockSiteControlBarPopupMenu property to false so this bar will not be present in any of built-in Prof-UIS context menus. As a result, the user will not be able to access this bar.
|
|
Roongrit Charoensupkul
|
Nov 12, 2007 - 9:36 AM
|
I have a check box on the ribbon bar which when user click on this check box, my property bar (CExtControlBar type) will display. When the property bar hides itself (user clicks its "X" button or user clicks pin button and the bar is hiding after some amount of time), I want to uncheck the check box. And when the property box appears (user clicks the check box, or user clicks the property bar’s tab), I want to check this check box. How can I do that?
To be simple, how to response on ON_UPDATE_COMMAND_UI of my check box, and the set value of the check box is depend on show/hide status of CExtControlBar?
|
|
Technical Support
|
Nov 13, 2007 - 2:35 AM
|
There is a CControlBar::IsVisible() method that returns true if the control bar is visible. You can use this method with any kind of control bars both in MFC and Prof-UIS. You should use this method while updating the state of your check box.
|
|
David Skok
|
Nov 12, 2007 - 8:38 AM
|
Throws an ASSERT and does not clear cell as expected. I have sent a modified version of ReportGrid demo showing the problem. Please recommend a fix.
Thanks, Dave
|
|
Technical Support
|
Nov 13, 2007 - 2:04 PM
|
Thank you for reporting this issue. Please update the source code for the following method bool CExtReportGridDataProvider::ReportItemSetCell(
const CExtReportGridColumn * pRGC,
const CExtReportGridItem * pRGI,
const CExtGridCell * pCellNewValue, // = NULL // if NULL - empty existing cell values
bool bReplace, // = false // false - assign to existing cell instances or column/row type created cells, true - create new cloned copies of pCellNewValue
CRuntimeClass * pInitRTC // = NULL // runtime class for new cell instance (used if bReplace=false)
)
{
ASSERT_VALID( this );
if( pRGC == NULL || pRGI == NULL )
return NULL;
ASSERT_VALID( pRGC );
ASSERT_VALID( pRGI );
CExtGridDataProvider & _DP = _Tree_GetCacheDP();
ULONG nReservedColumnCount = 0, nReservedRowCount = 0;
_DP.CacheReservedCountsGet( &nReservedColumnCount, &nReservedRowCount );
bool bActive = pRGC->ColumnIsActive();
ULONG nColNo = 0;
if( bActive )
{
nColNo = ActiveIndexGet( pRGC );
if( nColNo == ULONG(-1L) )
return NULL;
nColNo += nReservedColumnCount;
} // if( bActive )
else
{
nColNo = InactiveIndexGet( pRGC );
if( nColNo == ULONG(-1L) )
return NULL;
nColNo += 1;
} // else from if( bActive )
ASSERT( pRGI->TreeNodeGetParent() != NULL );
ULONG nRowNo = pRGI->TreeNodeCalcOffset( false );
nRowNo += nReservedRowCount;
return
_DP.CellRangeSet(
nColNo,
nRowNo,
1L,
1L,
pCellNewValue,
bReplace,
pInitRTC,
false, // bAutoFindValue
false // bUseColumnDefaultValue
);
}
|
|
tera t
|
Nov 12, 2007 - 2:14 AM
|
|
|
Technical Support
|
Nov 12, 2007 - 10:44 AM
|
You can disable the feature of rarely-used menu items in these two ways:
1) Add the following lines to your initialization code CExtPopupMenuWnd::g_bMenuExpanding = false;
CExtPopupMenuWnd::g_bMenuHighlightRarely = false; 2) Use g_CmdManager->SetBasicCommands to make all your commands basic, i.e. initially visible in your menus.
|
|
tera t
|
Nov 11, 2007 - 9:39 PM
|
|
|
Technical Support
|
Nov 13, 2007 - 9:41 AM
|
We added this feature to our TO-DO list but we cannot say when it will be ready because the list is filled with a lot of other tasks. If you need this feature right away, we can implement this as a custom project and it will be available within one day. In the later case, please contact Alex Cooper at info@prof-uis.com.
|
|
Technical Support
|
Nov 12, 2007 - 10:46 AM
|
Unfortunately this is not supported. The CExtGridCellComboBox can be used only inside the grid. We can add such a feature to our TO-DO list and implement some time later. If you need it right away, we can implement this as a custom project.
|
|
tera t
|
Nov 12, 2007 - 6:02 PM
|
Hello.
If there is it, I think that convenience is good. If you make it, when is it completed?
|
|
Antoan Christov
|
Nov 11, 2007 - 6:38 AM
|
Hi,
I have a problem with running the Integration Wizard. It does not want to perform the initial registration into Visual Studio. I’ve tried to enter the C++ directories myself, but integrating the app wizard in VS still fails. Here are some details:
Vista x64 Visual Studio 2005 SP1 with Vista patch
report text: /*******************************************************************/ REPORT FILE [11-11-2007, 13:30] /*******************************************************************/
Install Prof-UIS Application Wizard to Visual Studio - Failed.
Thanks, Antoan Christov
|
|
Technical Support
|
Nov 13, 2007 - 9:55 AM
|
We have just tested Prof-UIS Integration Wizard on Vista x64 with Visual Studio 2005 SP1 with Vista patch installed. It worked without any problems: /*******************************************************************/
REPORT FILE [11-13-2007, 11:11]
/*******************************************************************/
Install Prof-UIS Application Wizard to Visual Studio - Succeeded. So the problem may hide somewhere on your side. Please note you can install the Application Wizard manually. Just unpack the ProfUISAppWizard folder from C:\Program Files\FOSS Software Inc\Prof-UIS\Support\profuisappwizard_2005.zip to the wizards folder C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\Besides, copy the following files to the C:\Program Files\Microsoft Visual Studio 8\VC\vcprojects\ folder: ProfUISAppWizard.ico ProfUISAppWizard.vsdir ProfUISAppWizard.vszAfter restarting Visual Studio, you should see the Prof-UIS Application Wizard.
|
|
Antoan Christov
|
Nov 19, 2007 - 1:35 PM
|
Thanks for the testing. Propbaly the problem is in my VS2005 installation. I’ve managed to install the Wizard manually.
|