Subject |
Author |
Date |
|
tera t
|
Dec 19, 2007 - 6:45 PM
|
Hello.
About the minimization of the ribbon bar. Why will not you minimize it in F1+CTRL?
I test it in Microsoft-Excel. The ribbon bar is minimized.
|
|
Technical Support
|
Dec 20, 2007 - 11:07 AM
|
Microsoft Excel performs ribbon minimization when you press Ctrl+F1 but any of Prof-UIS based applications based on ribbon may potentially need this key combination for something else. That is why we did not implement this key combination as a built-in feature. You can assign some accelerator command to Ctrl+F1 keys and minimize the ribbon manually.
|
|
Paul Cowan
|
Dec 19, 2007 - 9:51 AM
|
How do I hide the None button on the popup CExtDateTimeWnd calendar?
|
|
Technical Support
|
Dec 21, 2007 - 12:17 PM
|
Using the new feature we added to 2.82 (see our reply to Suhai Gyorgy), you will be able to remove the None button in this way pDateTimeWnd->ModifyDropDownCalendarStyle( __EDPWS_BUTTON_NONE, 0 );
|
|
Technical Support
|
Dec 21, 2007 - 12:14 PM
|
Thank you for your suggestion. We have just added the following methods to the CExtDateTimeWnd class:
virtual DWORD OnDropDownCalendarQueryStyle() const;
DWORD GetDropDownCalendarStyles() const;
DWORD ModifyDropDownCalendarStyle(
DWORD dwRemove,
DWORD dwAdd = 0
); These new methods will be available in version 2.82 which is coming soon.
|
|
Suhai Gyorgy
|
Dec 20, 2007 - 6:18 AM
|
It would be nice to have an OnQueryDatePickerStyle overridable method in the CExtDateTimeWnd class, as well, not only in CExtGridCellDateTime class. Without that, you need to override CExtDateTimeWnd::OnShowDropDownMenu method, copy the original implementation and change the styles of the CExtPopupDatePickerMenuWnd variable created there.
|
|
Offer Har
|
Dec 19, 2007 - 8:35 AM
|
Dear Support,
I see that you’ve introduced a new function called SetAutoSubclassChildControls in 2.80 Can you please provide the community some information about it - when to use it, how to use it, what controls it support, can it be extended etc. I think that this is a very important function that can save a lot of tedious work for a lot of users.
Thanks.
|
|
Technical Support
|
Dec 21, 2007 - 12:13 PM
|
|
|
Christan HIRIGOYEN
|
Dec 19, 2007 - 6:41 AM
|
I use PropertyGrid Control. My implementation is almost similar with your sample PropertyGrid with the stars. - When I modify the value, the control does not display the property in bold (I checked that m_bMakeBoldModifiedValues and m_bMakeBoldModifiedNames are true done in OnInitDialog) - When I modify the value of a multiselection, the control does not display the entered value, it stay blank. In both cases my object is well updated.
What is wrong? What I miss to do?
I would really appreciate your help.
Thanks in advance.
|
|
Technical Support
|
Dec 21, 2007 - 4:54 AM
|
When the print preview is displayed over the property grid control, it keeps the cached set of EMF files which contains printed/previewed page images. These page images were created at a certain point of time. Then you changed property values. In this case the property grid control does not re-create print preview page images. You should close the preview and open it again to see the latest results. Is that the problem you want to tell us about?
|
|
Christan HIRIGOYEN
|
Dec 20, 2007 - 8:39 AM
|
I use CExtGridCellString and CExtGridCellColor.
I can’t give you a test program. My program is too huge.
Do you have advises for me? to check in my program. An other information. When I modify a value. The control displays the good value (not in bold) but the print preview, displays the old value. Do I missed a call to synchronize or update the control? It seems that the control is not up to date.
Thanks in advance.
|
|
Technical Support
|
Dec 20, 2007 - 5:56 AM
|
We need some more info about the problem. Do you use some custom grid cell classes in the property grid control? Is it possible to get a test project which demonstrates the problem?
|
|
tera t
|
Dec 18, 2007 - 2:33 AM
|
Hello.
Q1, I want to do a selection of a specific ribbon node. Is it possible?
Q2, I want to make a specific ribbon node non-expression. Is it possible?
|
|
Technical Support
|
Dec 18, 2007 - 12:25 PM
|
We suppose you want to make some buttons in the ribbon bar checked/un-checked like Bold/Italic/Underline in MS Word. If so, you should add command updating methods for these buttons and invoke pCmdUI->SetCheck() to make each button checked/un-checked.
|
|
howard liu
|
Dec 18, 2007 - 2:26 AM
|
Hi,
The application on which i work is built using MFC (7.1) has many user interfaces and dialog boxes (in several hundreds).There are chains of dialog boxes one leading to another dialog box. Making code updations to each of these interfaces and dialog boxes to apply Prof UI skins is a tedious process. Do you suggest a more easier procedure (global approach) to apply Prof UI skins on several of these dialog boxes that this application hosts.
Thanks
|
|
Technical Support
|
Dec 20, 2007 - 11:12 AM
|
Unfortunately we have no similar function for automatic subclassing all the windows which appear at your applicationās run time. Besides, Prof-UIS does not contain extensions of some common controls like a tree view and a list view but provides its own tree grid, plain grid and report grid instead. So, generally, even if we provided some global subclassing feature like you requested, it would not replace absolutely all controls.
|
|
Technical Support
|
Dec 18, 2007 - 12:29 PM
|
To make windows skinable, you should use Prof-UIS classes. You can switch from classes like CButton , CComboBox , CDialog to CExtButton , CExtComboBox , CExtResizableDialog step by step. All the dialog classes should be derived from CExtResizableDialog and all the controls on each dialog box should be subclassed with CExt*** classes. If you have a dialog with 15 controls on it and only 3 buttons on it are subclassed with CButton variables, then you should do the following:
1) Use CExtResizableDialog as the base class for your dialog instead of CDialog .
2) Use CExtButton instead of CButton for all 3 buttons.
3) Subclass all controls with Prof-UIS CExt*** classes. You can avoid creation of 12 additional member variables in your dialog class for all the dialog controls. You should simply invoke the SetAutoSubclassChildControls() method in the constructor of your dialog class.
|
|
howard liu
|
Dec 19, 2007 - 1:58 AM
|
Thanks for this reply. Actually we were not awrae of SetAutoSubclassChildControls() method.
As a further point i would would request another clarification
Like what you have explained for a dialog/dialog class, is there a similar procedure for the applying skins globally to a Mainframework. What i mean by mainframe is the main user interface that hosts titlebar, toolbars, dropdown menus, list controls and treeviews and the status bar. That is, by just invoking a method with the Mainframework, its items like toolbars, dropdown menus, and list controls should get skinned by prof UI skins. Is there a universal invoking method for this
Thanks Ranga
|
|
Suhai Gyorgy
|
Dec 17, 2007 - 4:38 AM
|
Dear Support,
We are using your CExtReportGridWnd control and now we are testing it with many items ( around 25,000 ). For clearing the grid we are using ItemRemove(ItemGetRoot(), true, true); This takes more than 90 seconds!!! That’s way too much for clearing! Could you look into how you could speed this up?
Thank you!
|
|
Technical Support
|
Dec 20, 2007 - 5:50 AM
|
This behavior is explained by how the IMalloc is implemented in the CExtAlloc class. This class implements block based memory allocations and provides a memory managed API as a IMalloc interface pointer. Each CExtGridCell*** object stored in the CExtGridDataProviderMemory<code> data provider is instantiated using a specific version of C++ new operator defined in the <code>CExtGridCell class and this operator has the IMalloc interface pointer in its parameters. The memory data provider uses this memory allocation technique to improve cell allocation time. The de-allocation time can be very fast or very slow. If the de-allocated cell object is not the last in its block of cells, then de-allocation is fast. If the cell is last in its block, then de-allocation is slow. Besides, de-allocation time very depends on whether the report grid is grouped or not.
We think the grid control with more than 3 thousand rows should be a cacheable CExtGridWnd control rather than the CExtReportGridWnd control.
|
|
Technical Support
|
Dec 18, 2007 - 3:41 AM
|
25000 rows is too much for the report grid control which is designed as in-memory grid only. You should use CExtReportGridWnd::ReportItemUnRegisterAll() or CExtReportGridWnd::ReportItemUnRegisterSelection() with it rather than CExtTreeGridWnd::ItemRemove() . We can analyze the code that unregisters report grid items, but we believe its performance can be improved only in the case of unregistering the entire set of report grid items and the real performance can be not faster than CExtGridWnd::RowRemoveAll() because destruction of cell objects takes its determined time.
|
|
Suhai Gyorgy
|
Dec 18, 2007 - 4:14 AM
|
ReportItemUnRegisterAll uses the very same ItemRemove(ItemGetRoot(), true, bRedraw); code which we are using to clear the entire grid. So it doesn’t make any difference in this case.
Strange thing is that while loading the application (not only the grid) takes only 20 seconds, clearing the grid (and only the grid) still takes 90 seconds. Using CExtGridCellStringDM instead of CExtGridCellString didn’t make any difference either. Why does destruction take so much more time than construction?
Thank you!
|
|
tera t
|
Dec 17, 2007 - 12:15 AM
|
|
|
Technical Support
|
Dec 18, 2007 - 3:16 AM
|
Contextual tabs are under development now. They will be available in one of the next releases.
|
|
tera t
|
Dec 16, 2007 - 9:11 PM
|
|
|
Technical Support
|
Dec 18, 2007 - 12:11 PM
|
We modified the RibbonBar sample to illustrate how to handle color ribbon buttons. The changes are marked with the following lines in the code // TECH_SUPPORT_BEGIN
// TECH_SUPPORT_END So the marked code explains how to use such buttons. Link to the modified sample
|
|
tera t
|
Dec 19, 2007 - 2:41 AM
|
|
|
Roongrit Charoensupkul
|
Dec 16, 2007 - 1:23 AM
|
I have a question about property category. When I create the control in this sequence:
Create CExtPropertyItem name "Symbol" Create CExtPropertyItem name "Model" Create CExtPropertyCategory name "A?" and add one item in it
I got the result in this sequence <Property Category A?> <Child property item of the category> <Property item "Symbol"> <Property item "Model">
But when I change the name of the category to be "a?" (the lower case of "A"), I got this result <Property item "Symbol"> <Property item "Model"> <Property Category a?> <Child property item of the category>
Shouldn’t the category item be the last item no matter what the name it is? Or if I want the control to be in that way, what should I do?
|
|
Suhai Gyorgy
|
Dec 17, 2007 - 1:30 AM
|
Even in CExtPropertyGridWndCategorized window, the categories and/or values can be sorted alphabetically. To turn these off, you should use this code: CExtPropertyGridWndCategorized * pGrid =
STATIC_DOWNCAST(
CExtPropertyGridWndCategorized,
m_wndPropertyGridCtrl.GetChildByRTC(
RUNTIME_CLASS(CExtPropertyGridWndCategorized)
)
);
if( pGrid != NULL ) {
pGrid->m_bSortedCategories = false;
pGrid->m_bSortedValues = false;
}
|
|
howard liu
|
Dec 13, 2007 - 10:43 PM
|
Hi,
We would like to know the procedure to apply prof UI skins to an application that makes use of MFC 7.0. What are the code modifications that are required within our application in order apply prof UI skins. Is the procedure same as applying different themes of Prof UIs.
One particular clarification requested is, if the apllications main interface hosts many controls (such as MFC list boxes & list controls which do not have any relation with the prof UI control ) what would be the procedure to apply the prof UI skin.Should these controls also be derived from prof UI controls ? If so, does prof UI provide any customized controls for List Control, Views, toolbars which i am unable to find in prof UI library.
Otherwise, is the applying of prof UI skins procedure independent of the controls that user interface hosts ?
Thanks
|
|
Technical Support
|
Dec 14, 2007 - 9:08 AM
|
The skinning subsystem, which is represented by the ProfSkin library (comes with Prof-UIS), has to do with Prof-UIS classes only. Some of components like ribbons, grid and toolbox are not skinned yet. What you need to do is to install the skinable paint manager with successfully pre-loaded skin data: CExtPaintManagerSkin * pPM = new CExtPaintManagerSkin;
bool bLoaded = true;
if( ! pPM->m_Skin.SearchAndLoadSkinFile( _T("Aqua.Skin"), false ) )
{
bLoaded = false;
::AfxMessageBox( _T("Failed to load skin.") );
delete pPM;
}
if( bLoaded )
g_PaintManager.InstallPaintManager( pPM ); Please also include the following header file of the ProfSkin library (after including Prof-UIS.h) and compile the ProfSkin first: #if (!defined __PROF_SKIN_H)
#include <../ProfSkin/ProfSkin.h>
#endif // (!defined __PROF_SKIN_H)
|
|
bolin huang
|
Dec 13, 2007 - 9:40 PM
|
|
|
Suhai Gyorgy
|
Dec 14, 2007 - 1:33 AM
|
The built-in cell join feature is under development now. There’s a sample project demonstrating how to to change the location of grid cells to emulate span cells, but it is not fully functional (Works for non-scrollable grids, though).
|
|
Eun Hyang Im
|
Dec 13, 2007 - 5:53 AM
|
I use Pro-UIS 2.81.
I have build libraies and Dlls using Integration wizard.
All proccessed complete successfully except following two fails.
(1) Install Prof-UIS Application Wizard to Visual Studio - Failed. <--- process: visual studio 98 (2) Remove Prof-UIS paths from Visual Studio environment variables for Win32 platform - Failed. <--- process: step visual studio 2005
What are these fails? and Why ?
How can I solve these problem?
please help me.
(My system has Windows Xp professional 32bit, Visual studio 6, 2003 and 2005 - korean version)
|
|
Eun Hyang Im
|
Dec 13, 2007 - 5:48 PM
|
Hi,
(1) I found ProfUisAppWizard.awx at the path of Prof-UIS Installed .../support), so I copied that file to C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\IDE. and then I could see "--> Prof-UIS App Wizard (exe) <--" at the File->new menu dialog of VS6.
Is that correct?
(2) I don’t konw yet... How to add manually environment variables for VS2005?
|
|
Suhai Gyorgy
|
Dec 14, 2007 - 1:26 AM
|
|
|
Eun Hyang Im
|
Dec 13, 2007 - 4:57 PM
|
(1) I tried to find ProfUisAppWizard.awx ... but I don’t find that file. The paht of My Visual C++ 6.0 and other tools is not standard location(c:\program files...) My tools’ Path is D:/DevTools/MSVS6 and D:/DevTools/MSVS2005...
I tried to find location both of c:\ and d:\......But did not find ProfUisAppWizard.awx. I could find only AEDMOWiz.awx, DMToolWizard.awx, DxAppWiz.awx, ATLWiZ.awx, ADDINWZ.AWX, CUSTMWZ.ZWX. DLLWZ.awx.... but ProfUisAppWizard.awx.
(2) Visual Studio 2005 tasks About Item - Add Prof-UIS paths to Visual Studio environment variables for Win32 platform.....
I tried to run again integration wizard....only select that checkbox...but continues error... if possible, can i manually add environment variables for VS2005 ?
I formated all hard disk and re-installed only windows XP, VS6, VS2003, VS2005, DirexX-SDK8/9, some DDK, Office 2007, adobe PDF. and then I tried all process again... but fail again same items.
Please tell me, If possible, manually install ProfUisAppWizard.awx for VS6 and Add environment variables for VS2005.
---- My re-installed system infomation --- Windows XP (Professional - Korean, c:\Windows) VS 6 (Enterprise version, D:\DevTools\MSVS6) VS2003 (D:\DevTools\MSVS2003) VS2005(D:\DevTools\MSVS2005) Other Sdk... DirectX 8, DirctX8.1, DirectX 9 Windws DDK Platform SDK Feb 2003 Other Tools MS Office System 2007 Adobe Acrobat 7 Norton Antivirus 2008 Those is all my system.
|
|
Technical Support
|
Dec 13, 2007 - 11:40 AM
|
We did not receive any reports about Visual C++ 6.0 integration issues yet and there is not enough information in your message to come to any conclusion about de-integration problems. In any case, you can easily remove both wizard and paths manually. Just find the ProfUisAppWizard.awx file (which is the Prof-UIS Application Wizard DLL module for Visual C++ 6.0) in the installed Visual C++ 6.0 folders and remove it. To remove paths, please invoke Visual C++ 6.0 IDE, select Tools | Options menu item, select the Directories tab and remove all Prof-UIS folder references from the Include, Library and Source folder lists. If you do not perform any de-integration and simply un-install Prof-UIS, then nothing bad will happen to your Visual C++ 6.0 copy.
|
|
Ik Ho Jeong
|
Dec 12, 2007 - 10:49 PM
|
Hi,
I am using Prof-UIS 2.81 registered version.
I cna’t build ProfUISDLL_800 ... using Intergration Wizard or ProfUISDLL_800.sin solution file.
My Visual Studio 2005 Crash.
My system is Windows XP Professional (Korean) My Visual Studio 2005 is patch service pack1 (Korean)
Help me. please
|
|
Eun Hyang Im
|
Dec 13, 2007 - 5:43 AM
|
Thank you very much I solve this problem.
|
|
Suhai Gyorgy
|
Dec 13, 2007 - 1:35 AM
|
The problem is known and has to do with a bug in VS 2005 when under certain conditions VS 2005 crashes (it cannot compile resource files for some languages). You can find the details and workaround in this thread.
|
|
Roongrit Charoensupkul
|
Dec 12, 2007 - 10:00 AM
|
I tried to create a property category, CExtPropertyCategory object. But there is no any category in my property grid control. Here are my codes:
CExtPropertyGridComboBoxBar * pCombo = STATIC_DOWNCAST( CExtPropertyGridComboBoxBar, GetChildByRTC( RUNTIME_CLASS(CExtPropertyGridComboBoxBar) ) );
CExtPropertyStore* pPropertyStore = new CExtPropertyStore( pConfiguration->Name().c_str() );
CExtPropertyCategory* pCategory = new CExtPropertyCategory( L"test" ); pCategory->DescriptionSet( _T("test properties") ); VERIFY( pPropertyStore->ItemInsert( pCategory ) );
pCombo->PropertyStoreInsert(pPropertyStore); pCombo->SetCurSel(0);
I tried to insert CExtPropertyItem object, and the propery grid can show the items. Please tell me how to show a property category?
|
|
Technical Support
|
Dec 13, 2007 - 4:53 AM
|
We confirm the property categories without child property values are not displayed in the property grid control. This is by design and we think this is correct.
|
|
Roongrit Charoensupkul
|
Dec 12, 2007 - 10:14 AM
|
I found the reason. It seems that I have to add at least one item in the category, orelse the category will not show.
|
|
Eric CASADOUMECQ
|
Dec 12, 2007 - 9:12 AM
|
Hi,
I want to join particulars cells of a grid. I have used your sample "how to join cells or headers". Your sample works correctly but I have a problem in my application. The grid is displayed on a view and if one of the two cells (begin or end join cell) is hidden by reduce view size the join is not done. This is beacause method "GridCellRectsGet" calculate a set of rectangle for VISIBLE grid cell. So how can I resolve my problem.
Regards,
|
|
Technical Support
|
Dec 13, 2007 - 4:54 AM
|
We confirm this issue. Could you temporarily switch to using horizontally non-scrollable grid window and wait for the built-in cell join feature which is under development now?
|
|
Louis RUBET
|
Dec 12, 2007 - 2:06 AM
|
hi
To enable CExtComboBox filter wnd, I do this (ProfUIS 2.81, Visual 2005):
m_wndCombo.m_bEnableAutoComplete = true; m_wndCombo.m_bEnableAutoFilter = false;
(see your sample project ’TextComboGrid’)
-> pb in exthook.cpp when I left click on the non client area of the combo parent dialog:
exthook.cpp: line 236: function HookChainsWindowProc: 0xC0000005: access violation (The hWndHooked parameter is 0xfeeefeee, which is not a valid HWND)
You can easily reproduce the pb with TextComboGrid project.
Have you a solution ?
|
|
Technical Support
|
Dec 13, 2007 - 4:52 AM
|
The CExtComboBox class is no longer based on CExtHookSink . This problem and several other issues were fixed. Here is the latest source code of the combo box:
UpdatedComboBox.zip
|
|
Louis RUBET
|
Dec 12, 2007 - 11:40 AM
|
sorry
I meant m_wndCombo.m_bEnableAutoComplete = false; m_wndCombo.m_bEnableAutoFilter = true;
|
|
tera t
|
Dec 12, 2007 - 2:00 AM
|
|
|
Technical Support
|
Dec 13, 2007 - 4:48 AM
|
We confirm this was a bug in v.2.80 but it is fixed in v.2.81.
|
|
tera t
|
Dec 12, 2007 - 1:10 AM
|
|
|
Technical Support
|
Dec 13, 2007 - 4:47 AM
|
We believe there must be some differences between how the RibbonBar sample and your application are initialized, which causes an incorrect frame window region. Could you send us your test project so we will find out what is wrong?
|
|
tera t
|
Dec 13, 2007 - 5:10 PM
|
Hello.
The initialization of the theme was different. It was settled by oneself.
Thank you.
|
|
tera t
|
Dec 12, 2007 - 12:51 AM
|
|
|
Technical Support
|
Dec 14, 2007 - 8:42 AM
|
|
|
Technical Support
|
Dec 13, 2007 - 4:43 AM
|
You should not modify g_PaintManager.m_bIs*** . They affect which APIs are invoked when the app is running on different Windows OS versions.
The ribbon file button is a kind of ribbon gallery button. So, you should override the following virtual method in your CExtRibbonBar -derived class to catch the item selection in the ribbon gallery control virtual void OnRibbonGalleryItemSelEndOK(
CExtRibbonGalleryWnd & wndRG,
CExtRibbonGalleryPopupMenuWnd * pGalleryPopup,
CExtRibbonButtonGallery * pRibbonGalleryTBB,
CExtToolBoxWnd::TOOLBOX_ITEM_DATA * pTBCI
);
|
|
tera t
|
Dec 13, 2007 - 5:13 PM
|
Hello.
I want to stop a fading function in CExtRibbonBar. Is it impossible?
|