Subject |
Author |
Date |
|
tera tera
|
Jul 5, 2009 - 6:22 PM
|
|
|
Technical Support
|
Jul 8, 2009 - 10:31 AM
|
Yes. Thank you. Please drop us an e-mail with your login and the time when to connect.
|
|
Technical Support
|
Jul 6, 2009 - 2:18 AM
|
We tried different Prof-UIS themes, including Studio 2008 like on your screenshots. We tried to preview the screensaver 30 times. Still cannot repeat the un-maximized problem. Please try to remember is there something special we need to do additionally to repeat this problem?
|
|
tera tera
|
Jul 21, 2009 - 2:14 AM
|
Hello. By the following methods, please try it. (1), You execute a program with 1,280*1,024 with the resolution of the screen. (2), Please set screen saver so that wmv is played.
(By the reproduction only for bmp, the malfunction does not reappear.)
(3), Please execute around 3-5 Preview
|
|
Technical Support
|
Jul 22, 2009 - 12:47 PM
|
|
|
tera tera
|
Jul 6, 2009 - 4:09 AM
|
Hello. I execute a program with 1,280*1,024 with the resolution of the screen.
Malfunction occurs. The resolution of the screen about 1,024*768
A deficient symptom does not break out. ... OK!! Did the malfunction reappear?
|
|
tera tera
|
Jul 7, 2009 - 6:19 PM
|
I prepare for remote "Debug" environment
Will you do "Debug"?
|
|
tera tera
|
Jul 5, 2009 - 6:40 PM
|
There is a possibility that it does not reappear in PREVIEW only for 1 degree
Please execute around 3-5 Preview
|
|
Rado Manzela
|
Jul 5, 2009 - 1:48 PM
|
It seems tree grid item (un)hiding has some bug and asserts (2.85). Here is test program where I’ve reproduced the problem: http://rrrado.szm.sk/test_1.zip#@lt;/p>
can you check it please? One little suggestion. When you set CExtTabPageContainerFlatWnd::CloseOnTabsSet(true,true) it still wastes space for close button although the tab is not selected. It should save space and compact the tab in my opinion. Thank you..
|
|
Rado Manzela
|
Jul 6, 2009 - 6:36 AM
|
thank you, plese use: rrrado at pobox {dot] sk Sure it would jump, I’ve thought IE does it this way but I’ve checked it now and it does not. I’m not sure whether it would look so bad
|
|
Technical Support
|
Jul 6, 2009 - 2:17 AM
|
Thank you for reporting this issue. It is now fixed. Please drop us an e-mail so we will provide you with an update.
If we do not reserve some required space for close buttons inside tab items, the tab items will jump to the left or right when the selection changes.
|
|
Rado Manzela
|
Jul 6, 2009 - 11:22 PM
|
|
|
Technical Support
|
Jul 7, 2009 - 7:17 AM
|
Sorry but we sent an email two times to your email address and each time it was bounced back (see below). Could you provide some other email address?
Je nám líto, ale Vaše zpráva "Re: Tree grid bug? " nemohla být doručena. Adresátova schránka je přeplněna. Váš ATLAS.CZ
|
|
Rado Manzela
|
Jul 9, 2009 - 8:10 AM
|
have you received my e-mail answer?
|
|
Technical Support
|
Jul 9, 2009 - 12:14 PM
|
Yes. We are working on it. The tree item hiding issue is not fixed yet. The compilation issue is fixed. Thank you for reporting it. We forget to protect the CExtPaintManagerOffice2010::Ribbon_GetOuterGroupDistance() method with the macro conditions: #if (!defined __EXT_MFC_NO_RIBBON_BAR)
INT CExtPaintManagerOffice2010::Ribbon_GetOuterGroupDistance(
const CExtBarButton * pTBB,
bool bDistanceBefore,
LPARAM lParam // = 0L
)
{
ASSERT_VALID( this );
ASSERT_VALID( pTBB );
if( IsHighContrast() )
return
CExtPaintManagerXP::Ribbon_GetOuterGroupDistance(
pTBB,
bDistanceBefore,
lParam
);
return 0;
}
#endif // (!defined __EXT_MFC_NO_RIBBON_BAR) It also should be protected in the class declaration: class __PROF_UIS_API CExtPaintManagerOffice2010 : public CExtPaintManagerOffice2007_Impl
{
public:
DECLARE_SERIAL( CExtPaintManagerOffice2010 );
// construction/destruction
CExtPaintManagerOffice2010();
virtual ~CExtPaintManagerOffice2010();
virtual e_paint_manager_name_t OnQueryPaintManagerName()
{
ASSERT_VALID( this );
return Office2010;
}
virtual void InitTranslatedColors();
#if (!defined __EXT_MFC_NO_RIBBON_BAR)
virtual INT Ribbon_GetOuterGroupDistance(
const CExtBarButton * pTBB,
bool bDistanceBefore,
LPARAM lParam = 0L
);
#endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
}; // class CExtPaintManagerOffice2010 The CExtPaintManagerOffice2010 paint manager class is almost ready except some parts of ribbon controls. It’s not present in the theme switcher toolbar yet. But some of sample applications install it at startup. For example, you can see it in the ProfUIS_Controls sample application.
|
|
Rado Manzela
|
Jul 9, 2009 - 3:11 PM
|
Thank you, I will wait for hiding fix.
|
|
Rado Manzela
|
Jul 7, 2009 - 10:04 AM
|
I’m sorry for this, it reports I have 7 MB free space, I guess you are sending big file. Please tru this address: rrrado555 at gmail com Thank you!
|
|
Torsten Schucht
|
Jul 3, 2009 - 8:10 AM
|
Dear Support, I have dynamically created a CExtSpinWnd which is buddied to a dynamically created CExtEdit (see code snippet). The text in the CExtEdit control is always bold and larger than the standard font in other controls. ... DWORD uSpinStyle = WS_CHILD | WS_VISIBLE | UDS_ARROWKEYS | UDS_ALIGNRIGHT | UDS_WRAP; m_wndSpin.Create(uSpinStyle, SpinRect, this, eID_SPIN);
DWORD uEditStyle = WS_CHILD | WS_VISIBLE | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_BORDER;
m_wndEdit.Create( uEditStyle, EditRect, this, eID_EDIT);
m_wndSpin.SetBuddy(&m_wndEdit);
m_wndSpin.SetBase(p_bHex ? 16 : 10);
SetRange(p_nMinimum, p_nMaximum); ..
Do I have to set a certain style? Any suggestions? Thanks, Torsten
|
|
Technical Support
|
Oct 15, 2009 - 1:02 PM
|
Did you assign any font to your dynamically created controls? Did you invoke something like this:
CWnd * pWndDynamicallyCreated = . . .
pWndDynamicallyCreated->SetFont( CFont::FromHandle( (HFONT)::GetStockObject(DEFAULT_GUI_FONT) ) );
|
|
Torsten Schucht
|
Oct 16, 2009 - 6:30 AM
|
This is what you already wrote in the last reply back in July too. I applied this change to my code and set the font for each dynamically created control as you suggested. This works fine. But when the Theme is changed by the user or (which is worse) when the screensafer was on most of the controls are painted with a wrong font (a bold and large font, looks like win 3.1). Is there anything additional I need to do, e.g. handle a special message to update the font in the described cases?
|
|
Technical Support
|
Oct 16, 2009 - 1:25 PM
|
We guess the Windows 3.1 like font you meant is the System font. Windows using it automatically if some process have the GDI handle leaks and the number of GDI handles reaches 10000 . Please check your application using the Windows Task Manager that is invoked on the Ctrl+Shift+Esc key combination. The processes tab in it displays the running processes and statistic information related to each process. You can display the GDI Objects column and check the real number of GDI handles occupied by your application before theme changing and/or screen saver activation and after.
|
|
Torsten Schucht
|
Oct 19, 2009 - 8:29 AM
|
I have checked the GDI handles. They are in the range of 300. So this could not be the problem. I am also trying to isolate and reproduce the behaviour in a simple dialog based application but I am noct able to create this error there. I am supposing that at some point my application might suppress a message or handle it at the wrong point.
|
|
Technical Support
|
Oct 19, 2009 - 8:35 AM
|
Please try to comment different parts of your project and find some configuration of it which have no problems with fonts. Then uncomment the previously commented parts one by one until the problem return. This will let you to localize part of your project which generates the problem (or Prof-UIS components used in it).
|
|
Torsten Schucht
|
Oct 21, 2009 - 5:04 AM
|
OK. I got it! I called the SetFont( CFont::FromHandle( (HFONT)::GetStockObject(DEFAULT_GUI_FONT) ) ) for all my dynamically created controls, but I did not call it for the dynamically created parent windows. Thanks for your support. Torsten
|
|
Technical Support
|
Jul 3, 2009 - 1:00 PM
|
You forgot to assign the desired font to your dynamically created edit window:
pEdit->SetFont( CFont::FromHandle( (HFONT) ::GetStockObject( DEFAULT_GUI_FONT ) ) );
The edit windows created inside the dialog window have the correct font because the dialog loading code assigns the fonts to all the dialog items.
|
|
Torsten Schucht
|
Oct 14, 2009 - 2:20 AM
|
I have now another issue with the font of several controls in my application (all the controls are created dynamically): After changing the theme or after locking my computer and logging back in, the font is somehow set to bold and large. This effect applies to both ProfUIS based controls and standard mfc controls. This effect was not there before I integrated ProfUIS into the application. Any idea’s ?
|
|
Matthias Hoepfer
|
Jul 2, 2009 - 1:26 AM
|
The Integration Wizard does not find the VisualStudio C++ 2008 Express Installtion and therefor it cannot be used. Manually loading the VisualStudio workspace/solution results in the following compiler error (ANSI Debug/Release etc.): c:\programme\foss software inc\prof-uis\samples\formulagrid\stdafx.h(12) : fatal error C1083: Cannot open filetype file: "afxwin.h": No such file or directory Variables are set. Any ideas?
|
|
Matthias Hoepfer
|
Jul 2, 2009 - 11:43 PM
|
Thanks. Stumbled over this ’little detail’ concerning VisualStudio Express just at this moment.
|
|
Technical Support
|
Jul 2, 2009 - 11:58 AM
|
The Express versions of Visual Studio comes without MFC. Prof-UIS cannot be used without MFC.
|
|
Robert Webb
|
Jul 2, 2009 - 12:15 AM
|
I would like to add tabs to the Prof-UIS customization dialog box, and maybe even add controls to existing tabs. Is this possible? What would be the right way to do it? I also want to make it possible for users to drag and drop controls from my own command lists into the menus/toolbars. Can you point me in the right direction for achieving this? By the way, I notice that dialog is still unthemed, which makes it look a bit out of place. I’m still hoping that you will provide a themed replacement for CPropertyPage and CPropertySheet in a future version, which would also make it easy for you to skin the customization dialog :-) Thanks, Rob.
|
|
Technical Support
|
Jul 2, 2009 - 12:00 PM
|
There are two reasons why the customize property sheet is themed by Windows in Prof-UIS 2.85 and older versions: it’s a tool window and there is no support for themed tabs in resizable property sheet. The themed resizable property sheet in the tabbed mode is present in Prof-UIS 2.87. Now we can make the customize form themed by Prof-UIS.
If you need to improve the customize dialog, then you should override the CExtCustomizeSite::OnCreateCustomizeForm() virtual method. Your method should be similar to original. It can create additional property pages. It can remove existing property pages and/or created improved versions of them. You can derive from existing property page classes and inject additional controls into them.
|
|
Nicholas Vezirgiannis
|
Jul 1, 2009 - 6:58 AM
|
I have been using Prof-UIS v2.82 in MFC for some time now and I have a question regarding CExtGridCellCheckBox and CExtGridCellComboBox. I derived classes from those in order to be able to catch their events (OnInplaceControlCreate) and get therefore their data when changed. My problem is that the user cannot change the check box value using the keyboard. but can type next to it while I would like to prevent that. Regarding the ComboBox the user can type values even if they don’t exist in its list (which is wrong) and the event will not run to give me the data. The only way for the event to run is using the mouse. My question is if there is a way to use with these controls both mouse and keyboard overcoming the problems above. Should I use a different event? Should derive them using some template I forgot? The derived classes follow.
class DataGridCellCheckBox : public CExtGridCellCheckBox
{
public:
DECLARE_SERIAL( DataGridCellCheckBox );
IMPLEMENT_ExtGridCell_Clone( DataGridCellCheckBox, CExtGridCellCheckBox );
DataGridCellCheckBox(CExtGridDataProvider *pDataProvider = NULL);
~DataGridCellCheckBox();
virtual HWND DataGridCellCheckBox::OnInplaceControlCreate(
CExtGridWnd & wndGrid, LONG nVisibleColNo, LONG nVisibleRowNo, LONG nColNo, LONG nRowNo,
INT nColType, INT nRowType, const RECT & rcCellExtra, const RECT & rcCell,
const RECT & rcInplaceControl, LONG nLastEditedColNo, LONG nLastEditedRowNo); /*virtual bool OnClick(CExtGridWnd & wndGrid, const CExtGridHitTestInfo & htInfo,
UINT nChar, UINT nRepCnt, UINT nFlags);*/
}; ////////////////////////////////////////////////////////////////////////////////////////// class DataGridCellComboBox : public CExtGridCellComboBox
{
public:
DECLARE_SERIAL( DataGridCellComboBox );
IMPLEMENT_ExtGridCell_Clone( DataGridCellComboBox, CExtGridCellComboBox );
DataGridCellComboBox(CExtGridDataProvider *pDataProvider = NULL);
~DataGridCellComboBox(); virtual HWND DataGridCellComboBox::OnInplaceControlCreate(
CExtGridWnd & wndGrid, LONG nVisibleColNo, LONG nVisibleRowNo, LONG nColNo, LONG nRowNo,
INT nColType, INT nRowType, const RECT & rcCellExtra, const RECT & rcCell,
const RECT & rcInplaceControl, LONG nLastEditedColNo, LONG nLastEditedRowNo); };
|
|
Technical Support
|
Jul 1, 2009 - 12:23 PM
|
The CExtGridCell class implements a generic grid cell which supports the check box, icon, up-down/drop-down/ellipsis buttons with pressing events, able to start editing cell’s text. All these features are present in all the other cell classes derived from it. The other grid cell classes are just improved version of it. Other cells containing different additional data, displaying different windows on drop-down/ellipsis button clicks, performing different enumeration algorithms on up-down button clicks, implementing different text editing limitations or even activating non-edit controls as in-place cell editing windows. Of course, other grid cell classes have additional methods and overrides. The <span class="newgreen">ProfUIS_Controls</code> sample application. The CExtGridCellCheckBox class simply uses check box feature available to any grid cell. But it adds an important additional feature: displaying different text depending on the check box state. The check box grid cell is not designed as editable. We think you should use the CExtGridCellString class and enable check box inside it by applying the __EGCS_CHK_CHECK grid cell style with the CExtGridCell::ModifyStyle method. The CExtGridCell::ModifyStyle method is virtual and you can override it for handling the check box changing state (the __EGCS_CHECKED style). The CExtGridCellComboBox class is the extended version of the CExtGridCellString class. It contains string array which is displayed in the popup list box shown on drop-down button click. The CExtGridCellComboBox::SetEnumMode method can be used for setting combo box cell to use the enumeration mode which does not allow to enter strings which are not present in string array. The enumeration mode also supports combo box selection changing on double click in its text editor. The combo box cell in the first of the ComboBox column in the <span class="newgreen">ProfUIS_Controls</code> sample application uses the enumeration mode. In any case, you should not implement custom in-place editor windows for grid cells. You can override the CExtGridCell::OnKey() and/or CExtGridCell::OnSysKey() virtual methods and implement checked state changing on specific keyboard keys pressing.
|
|
tera tera
|
Jul 1, 2009 - 3:13 AM
|
Hello. I want to display BMP and text 1 in a cell
Is not there the good part?
|
|
Technical Support
|
Jul 2, 2009 - 11:58 AM
|
You should apply the __EGCS_TA_HORZ_CENTER grid cell style to make its text centered horizontally.
|
|
tera tera
|
Jul 2, 2009 - 6:24 PM
|
With __EGCS_ICA_HORZ_CENTER and __EGCS_TA_HORZ_CENTER
ICON is not displayed midmost.....
|
|
Technical Support
|
Jul 3, 2009 - 10:07 AM
|
The __EGCS_ICA_HORZ_CENTER style makes icon centered only if the text is empty. This style is for text-less grid cells.
|
|
tera tera
|
Jul 5, 2009 - 6:25 PM
|
Do not two parameters become effective? .......
|
|
Technical Support
|
Jul 6, 2009 - 2:18 AM
|
There are two sets of grid cell styles. The __EGCS_ICA_*** styles for icon alignment and the __EGCS_TA_*** styles for text alignment. They may conflict like we discussed in this forum thread. But the vertical alignment styles do not conflict. That’s why we support two independent sets of styles.
Additionally, it’s not reasonable to place an icon near cell’s text if both icon and text are center aligned. The column of such grid cells will display a lot of icons placed at different offset from the left borders of grid cells.
|
|
tera tera
|
Jul 2, 2009 - 12:56 AM
|
It was able to come true in CellString
However, it is not displayed midmost
Is not there the good method?
|
|
Technical Support
|
Jul 1, 2009 - 7:43 AM
|
Most the Prof-UIS grid cells support icons as it is demonstrated on your screenshot. You can register icons in the grid window using the CExtGridWnd::GridIconInsert() method and then assign icon indices to grid cells using the CExtGridCell::IconIndexSet() method.
|
|
tera tera
|
Jul 1, 2009 - 1:31 AM
|
Hello. I do not use PaintManagerStateLoad
Please teach a merit to use May I make PaintManager at the time of start every time? g_PaintManager.InstallPaintManager(
RUNTIME_CLASS(CMuPaintManager)
//RUNTIME_CLASS(CExtPaintManager)
//RUNTIME_CLASS(CExtPaintManagerXP)
//RUNTIME_CLASS(CExtPaintManagerOffice2003)
////RUNTIME_CLASS(CExtPaintManagerStudio2008)
//RUNTIME_CLASS(CExtPaintManagerOffice2003NoThemes)
//RUNTIME_CLASS(CExtPaintManagerStudio2005)
//RUNTIME_CLASS(CExtPaintManagerNativeXP)
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R1) // シルバー
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R2_LunaBlue) // 青い
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R2_Obsidian) // 黒い
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R3_Silver)
);
|
|
LAURA GUGLIELMETTI
|
May 13, 2010 - 1:39 AM
|
Dear Tech-support, I’m calling an exe made using your Prof-UI 2.89 and with the CExtPaintManagerOffice2007_R3_Obsidian theme from an application that is a standard Win32 app using CreateProcess. Once this exe is open, if I create any dialog inside the original Win32 app, the background of such dialog is according to obsidian theme as well. Is it possible to avoid such behavior. Do I miss something inside the Prof-UI application ? Thanks in advance for your help. Best regards Laura
|
|
Technical Support
|
May 13, 2010 - 12:49 PM
|
Our customers often ask us a question which is "vice versa" version of your question: how to make some non-Prof-UIS dialog fully or partially themed by Prof-UIS? We do not perform any automatic theming of non-Prof-UIS dialogs. But this is possible. Here is the example of how to skin the standard Windows shell dialog for browsing folders:
CExtNCW < CExtResizableDialog > dlgSkin;
dlgSkin.SetAutoSubclassChildControls();
::AfxHookWindowCreate();
::ShBrowseForFolder( . . . . . . . );
::AfxUnHookWindowCreate();
Something similar can occur in your app occasionally. The AfxHookWindowCreate() API is invoked during the MFC/Prof-UIS dialog construction. We suspect you displayed your CDialog -based window while the CExtResizableDialog -based window construction was not completed.
|
|
Technical Support
|
Jul 1, 2009 - 7:43 AM
|
Yes, you simply should install a paint manager like demonstrated in the code snippet in your message and you should not invoke state loading/saving code of the paint manager. Please also note, most of the Prof-UIS classes are derived from the CExtPmBridge interface class which notifies other component about paint manager changing event what allows Prof-UIS classes to reload their settings for the new applied UI theme. If you install paint manager before creating any windows in your application, then the startup time should be a bit faster.
|
|
Robert Webb
|
Jul 1, 2009 - 12:54 AM
|
Is there a way for the user to customise the font used in the ribbon bar (and/or the rest of the interface)? Eg is it taken from a Windows settings? It doesn’t appear to be. If not, how is the font set via code? Thanks, Rob.
|
|
Technical Support
|
Jul 1, 2009 - 7:44 AM
|
The CExtRibbonPage::OnGetToolbarFont() virtual method provides the ribbon bar with a font. It’s an overridden version of the CExtToolControlBar::OnGetToolbarFont() virtual method. The CExtRibbonPage::OnGetToolbarFont() virtual method simply returns the CExtPaintManager::m_FontRibbonNormal font. So, you can simply change this font.
|
|
Robert Webb
|
Jun 30, 2009 - 7:59 PM
|
Do you have any plans to provide any of the following? - Allow ribbon bar to be resized. Our customers are already complaining about our software’s new ribbon bar taking up too much screen space. I think it could work well if the ribbon bar could be resized to some discreet steps, eg to 2/3 or 1/3 normal size. In either case large icons would never be used (regardless of resizing rules). Instead, either one or two rows of smaller icons would appear, with or without text depending on room available as usual. - Customisation of controls on the ribbon bar itself. Controls can be happily dragged between toolbars and menus, but the ribbon bar is conspicuously rigid. The Quick Access bar is a poor substitute. I know the ribbon bar is more complicated, with various arrangement options, but I still think a simple drag/drop customisation could work. It would give the control some default arrangement settings, and maybe right-click on the control after dropping for other options. Probably means the customisationo system would need to know about small and large icons. I know Prof-UIS intention is to do a limitation-for-limitation copy of the ribbon bar in MS Word etc, but these are really vitally important features for any modern interface. So just wondering if such things are planned, and if so, any idea when we might see them? Thanks, Rob.
|
|
Technical Support
|
Jul 1, 2009 - 9:02 AM
|
Thank you for the interesting questions. The ribbon bar elements (buttons and text/combo fields) are organized into groups. In the most cases, the elements of each group have the information level adjustment rules for controlling element sizes built for correctly looking size changing of each element. For example, some group has 4 buttons. The 1st is always big. The next 3 can be big at the same time, middle (small with text) at the same time or small without text at the same time. The current state of last 3 buttons is controlled by the information level adjustment rules and free space available in the ribbon bar. If we allow vertical resizing of the ribbon bar or drag-n-drop based button inserting into this group of ribbon buttons, then the behavior of it may become broken in some cases. If we insert 2 or 3 buttons into this group to the end of buttons list at right and make new 2/3 buttons working like previously last 3 buttons, then the behavior of the ribbon group will work correctly. But if we insert one always big button between last 3 buttons, then the group behavior will work not in the best looking way.
It’s possible to change height of the ribbon and make it able to contain more or less rows of buttons in each ribbon group, but it’s not possible to resize the ribbon vertically in the current Prof-UIS version. The CExtRibbonPage::RibbonLayout_GetGroupHeight() virtual method returns height of ribbon groups.
We are going to implement the new ribbon customization dialog page based on 2 tree controls and the new Customize Ribbon context menu command. Such dialog page is present in the ribbon customization dialog of Office 2010. The left tree control contains all the available commands organized into groups. The right tree control exactly describes the current structure of the ribbon bar: top level of tree items are ribbon pages, second level is ribbon groups, third level are buttons, text/combo fields and galleries, the next levels are trees of ribbon menus. Here is how it looks in Outlook:
http://www.prof-uis.com/download/forums/CustomizeRibbon-dialog-in-Office2010.PNG
|
|
Robert Webb
|
Jul 2, 2009 - 12:08 AM
|
Any idea when we could expect the customizable ribbon bar to appear in Prof-UIS? By the end of the year maybe? The Office 2010 customization is a good start, but it looks very dry and unintuitive. Much better would be to just drag controls directly into the ribbon bar. I understand the problem you explain with mixing large/small icons, but that problem will also exist with the 2010 method, and it’s the user’s problem if they arrange things that way. I see no way to tell an item to stay large/small in 2010 which would be useful (just looking at your screenshot). After dragging and dropping, the right-click context menu on the button would be a good place for a few options like this. When you say "it’s possible to change height of the ribbon bar", you don’t mean it’s possible now, right? You mean it would be possible for you to implement that feature sometime in the future? It would be great if you could. I wonder how hard-coded ideas like one-large-icon-per-column and three-small-icons-per-column are. It would also be nice if ribbon groups were resized in more steps. Currently all items in a group are reformatted to match. That is, they are all large, or all small with text, or all small without text (aside from items which have been forced in-code to stay in a given state). As a group shrinks it would be much better to just change the last three items to small (or less if there’s a separator), and then the three before that and so on. If one is left over at the far left of the group, then it would always stay large since no space could be saved, unless hiding text too (and there’d be no need to force it to stay large in code). I don’t know what Office does, but I know other ribbon implementations perform more gradual resizing like this. Thanks, Rob.
|
|
Technical Support
|
Jul 2, 2009 - 11:59 AM
|
The customizable toolbars and menus allow to drag-n-drop buttons. But this UI feature is too complex probably for 50% of people living on this planet. We can tell the same about ribbon if it will support drag-n-drop based customization. Such drag-n-drop is like design mode for software developer. The Office 2010 customization for ribbon bar does the same as drag-n-drop customization. Probably the final version will support drag-n-dropping too. But nobody knows this right now. At this moment we are much more busy on developing 2010 UI themes (Office and Studio). The new ribbon customization is the second task planned as feature of Prof-UIS 2.87. It would be nice to allow editing of resizing rules of each ribbon button. This can be implemented as additional button in each tree row displaying modal dialog box with rule editing grid control. Each row of rule editing grid describes when to switch to the next button state and which button state is next. But in any case, the incorrect layout of buttons inside each group of buttons is problem of designer: either user or developer. It’s a problem of a man who created this layout.
As we said, you can override the CExtRibbonPage::RibbonLayout_GetGroupHeight() virtual method to change height of ribbon groups. You can do this in any Prof-UIS version which has ribbon bar. You can do this right now. The simple ribbon groups (like Clipboard in MS Word) are placing buttons inside group via searching free space for them from top to bottom in first column of buttons at left, then next column closer to right and so on. I.e. the simple ribbon groups placing buttons into vertical column. If the CExtRibbonPage::RibbonLayout_GetGroupHeight() virtual method will return a higher vertical size of button group, then larger count of buttons appear in each column of buttons. The toolbar like ribbon buttons (like Font in MS Word) are placing buttons into horizontal rows. Honestly saying, we think you have reason to make the ribbon bar smaller and you never have reason to make it larger. The ribbon bar looks like a lot of buttons and other items gathered on an enough small place. It looks like it’s better to make the count of buttons less - not greater.
The ribbon height changing we described above is available right now. But it’s the static size changing. The ribbon bar does not support splitter like area for dynamic height changing at run time.
|
|
Robert Webb
|
Jul 2, 2009 - 8:13 PM
|
If it’s useful to the other 50% or 3.5 billion people, then I’d consider it a win :-) I take it there’s no beta of 2.87 available yet? What happened to 2.86? Will 2.87 fix the slow response time for ribbon bars with any of the Office 2007 themes? Sorry, I midunderstood regarding RibbonLayout_GetGroupHeight() . I thought you were just telling me how to get the height. I have tried overriding this now and reducing the height, but it isn’t much use. It always decided only one row of smaller buttons will now fit, even when there’s room for two. Other than that it just truncated the ribbon bar rather than resizing it. The border around groups is truncated, not adjusted for the new height (losing the group’s caption), and the one row of buttons is always centred vertically according to the old height, thus also being truncated. Large icons are also still used when they no longer fit. Thanks, Rob.
|
|
tera tera
|
Jul 1, 2009 - 7:36 PM
|
Where can I download Outlook 2010?
Please teach it if you like
|
|
Technical Support
|
Jul 2, 2009 - 11:56 AM
|
It seems Outlook 2010 was given to some Microsoft partners only for testing purposes. So we cannot help you with this.
|
|
tera tera
|
Jun 30, 2009 - 4:06 AM
|
Hello. I want to realize the following drug movement Is it impossible?
|
|
Technical Support
|
Jul 1, 2009 - 7:42 AM
|
We can regard your question as a feature request. But we need to discuss some details. The problem is that the tab item is a very specific UI element. Its shape always has one side attached to other UI item near the margin of tab page. The detached dragged tab item may have strange look. The detached tabs are present in resizable control bars. You can start dragging tab item of the control bar inside tabbed bar group and drag-n-dropped element in this case is entire bar window - not the shape of the tab item.
|
|
Technical Support
|
Jun 30, 2009 - 6:38 AM
|
The item drag-n-dropping is supported by the CExtTabWnd control. You can turn it on with the __ETWS_ITEM_DRAGGING style. But this drag-n-drop is not based on the popup transparent window and red arrow markers.
|
|
tera tera
|
Jun 30, 2009 - 6:27 PM
|
I was able to understand how to use __ETWS_ITEM_DRAGGING. > But this drag-n-drop is not based on the popup transparent window and red arrow markers. Is not there the schedule making a controller such as the above?
|
|
Matthias Hoepfer
|
Jun 30, 2009 - 2:19 AM
|
Hi, after installing and building ProfUIS 2.83 libs (no errors or problems) the projects compilations abort with the following error:
c:\programme\microsoft visual studio\vc98\mfc\include\afxtempl.h(68) : fatal error C1076: Compiler-Beschränkung: Interne Heap-Grenze erreicht; Verwenden Sie /Zm, um eine hoehere Grenze anzugeben
c:\programme\microsoft visual studio\vc98\mfc\include\afxtempl.h(464) : Siehe Verweis auf Instantiierung der kompilierten Funktionsvorlage ’void __stdcall DestructElements(class CExtBarNcAreaButton ** ,int)’
Any ideas?
|
|
Matthias Hoepfer
|
Jul 2, 2009 - 1:17 AM
|
|
|
Technical Support
|
Jun 30, 2009 - 6:36 AM
|
Sure. Prof-UIS 2.85 and any projects based on it now cannot be compiled without specifying /Zm compiler option. Prof-UIS is now larger than any project Visual C++ expects to deal with. So, all the Prof-UIS library and sample projects now have the /Zm512 compiler option. This requirement meant in the Prof-UIS 2.84 release notes: http://www.prof-uis.com/prof-uis/version-history/version-284.aspx. Please specify the /Zm512 compiler option in each configuration of your project. If you are using Visual C++ 6.0, then please open the C / C++ tab page of the project properties dialog and add the /Zm512 compiler option to the end of the project options multiline editor. If you are using Visual Studio .NET or later, then select the Configuration Properties | C / C++ | Command Line tree item in the project properties dialog and specify the /Zm512 compiler option in the additional options multiline editor.
|
|
Matthias Hoepfer
|
Jul 2, 2009 - 1:17 AM
|
|
|
Robert Webb
|
Jun 30, 2009 - 1:10 AM
|
Some of our toolbar buttons only work if you click in the top half of the button! If you click on the bottom half no message is ever sent. Let me start from the beginning... Some of the buttons on our toolbars have separated drop-downs. That is, there’s a small arrow under the buttons which opens another drop-down toolbar. This toolbar can be torn off and docked like any toolbar. So we are using TearOffCommandSet() to attach the original button to its drop-down toolbar. However we are also using SetAutoChangeID() on that button, so that the main part of the button (not the arrow) is always updated with the last item selected from its drop-down. This means that the button always has the same ID as one of the items on the drop-down, and buttons with the same ID will appear in two separate toolbar resources too (the main toolbar and the tear-off toolbar). If we tear-off and dock that drop-down, then two buttons with the same ID are visible on the screen, one in each toolbar. One has the drop-down arrow, and one does not. Now here’s the problem. The button on the tear-off must be clicked in the top half to have any effect. I think somewhere in the Prof-UIS code it is thinking that this second button ALSO has a drop-down arrow, and is thus ignoring clicks in the bottom half of that button. Is this making any sense to you? Took us a while to track it down this far! Thanks, Rob.
|
|
Technical Support
|
Jul 1, 2009 - 9:03 AM
|
Such tear off toolbar buttons with split drop down arrow are demonstrated in the BitmapEditor sample application. We don’t see any problems with these split buttons there. Did you modify the button behavior somehow?
|
|
Robert Webb
|
Jul 2, 2009 - 12:20 AM
|
I don’t see the same thing in the BitmapEditor sample. It has split drop-downs, but not ones using SetAutoChangeID(). Anyway, I’ve found a work-around now. We were using the same basic ID for the split drop-down button and one of the items on the drop-down toolbar. That is, the same ID appeared in both toolbar resources. Now instead I use a different ID for the drop-down. SetAutoChangeID() only modifies the effective ID, and the problem only seems to occur when the basic IDs are the same. Thanks, Rob.
|
|
Rado Manzela
|
Jun 29, 2009 - 3:05 PM
|
Is it possible to have close (or other) button directly in the selected tab in CExtTabPageContainerWnd like in IE’s tabs to close individual tab?
I cannot find such feature it in samples and docs. Thank you
|
|
Technical Support
|
Jun 30, 2009 - 6:02 AM
|
Yes. The CExtTabPageContainerWnd::CloseOnTabsSet() method enables close buttons on tab items.
|
|
Rado Manzela
|
Jun 30, 2009 - 3:13 PM
|
Thank you. I have one more question. I need to add tabs to my view. But the CExtTabPageContainerWnd expects different views for each tab. But I have only one view, I don’t want tabs to change the view, just adjust it. I’ve tried to use CExtTabWnd instead, but it does not draw the wiew which I’ve created just like in ContainerWnd case by seeting tabwnd to be it’s parent.
How can I solve this? Thank you
|
|
Technical Support
|
Jul 1, 2009 - 7:39 AM
|
You can create a simple CView -based class that should work as a container for the CExtTabPageContainer window. Then you can create any windows oas pages inside the tab page container window. You can create other views as tab pages and attach them to some MFC documents.
|
|
tera tera
|
Jun 29, 2009 - 1:47 AM
|
Hello. When I execute photograph screen saver. Maximization display is canceled.
Please teach a cause.
|
|
Technical Support
|
Jul 2, 2009 - 11:57 AM
|
There must be something specific on your computer because this problem does not occur on our computers and nobody reported it yet.
|
|
Technical Support
|
Jul 2, 2009 - 11:57 AM
|
There must be something specific on your computer because this problem does not occur on our computers and nobody reported it yet.
|
|
tera tera
|
Jul 2, 2009 - 6:15 PM
|
By our machine, Japanese Window Vista, this error occurs. Our three machines, Ten machines of the customer I am troubled.
|
|
Technical Support
|
Jul 1, 2009 - 7:41 AM
|
Did you modify the RibbonBarMDI sample application?
|
|
tera tera
|
Jul 1, 2009 - 6:38 PM
|
I do not revise it.
I just operated a sample.
|
|
tera tera
|
Jun 30, 2009 - 7:13 PM
|
In the case of Microsoft-Excel, Lotus - Notes I do the state that maximized them.
I start screen saver and terminate it It is restored to the original state in a state of the maximization
|
|
Technical Support
|
Jun 30, 2009 - 6:07 AM
|
We run one and two copies of the RibbonBarMDI sample compiled with Prof-UIS 2.85. We invoked the preview of the Photos and other screen savers of Windows Vista Business English. The main frame window(s) of the RibbonBarMDI sample application never become restored. The test computer has also installed LogMeIn desktop mirroring driver. Probably some other software installed on your computer makes the main frame window(s) restored.
|
|
tera tera
|
Jun 30, 2009 - 6:20 PM
|
I want to revive RibbonBarMDI by maximization at the time of the screen saver end.
I ask for a revision.
Give my best regards
|
|
tera tera
|
Jun 28, 2009 - 7:33 PM
|
Hello. The selection view area of the bmpmap is different from string.
The selection area of bmp is 22*22.
The selection area of the string is 24*24.
I want to make a bmp selection area the same as a character selection area.
In addition, the reason why selection areas are different?
|
|
Technical Support
|
Jul 1, 2009 - 7:42 AM
|
Please take a look at the CExtRibbonPage::OnGetToolbarFont() virtual method. It’s an overridden version of the CExtToolControlBar::OnGetToolbarFont() virtual method. The ribbon bars use the CExtPaintManager::m_FontRibbonNormal font. So, you can simply change this font.
|
|
tera tera
|
Jul 2, 2009 - 1:43 AM
|
If there is a method else, please teach it. ( I do not change a font size......... )
|
|
Technical Support
|
Jul 2, 2009 - 11:58 AM
|
There are two methods and we described them. One is overriding the CExtRibbonPage::OnGetToolbarFont() virtual method. Second is changing the CExtPaintManager::m_FontRibbonNormal property. Both are enough easy.
|
|
Technical Support
|
Jun 30, 2009 - 6:05 AM
|
The width of text cannon be compared with the width of a bitmap. The height of text looks like a problem which is specific to the default GUI font used on your desktop. Which font is used in the string button?
|
|
tera tera
|
Jun 30, 2009 - 6:34 PM
|
If I change a GUI font
Can I make the dot size of the selection agree? Where do I appoint the default font of the ribbon?
|
|
Krzysztof Janik
|
Jun 26, 2009 - 8:12 AM
|
HI,
We use in our application CExtControlBar’s objects. Which have added custom buttons (CExtBarNcAreaButton) in title bars. It works fine. But when some of them are docked in tab style all custom buttons are not visible. Is that possible to have on the top title bar of active tab window (buttons of active CExtControlBar’s object)?
BR
|
|
Technical Support
|
Jun 26, 2009 - 1:12 PM
|
The tabbed bar group is also implemented as a resizable bar. The CExtDynTabControlBar class is the internal component of Prof-UIS which implements the tabbed bar group. The CExtDynTabControlBar class it derived from the CExtControlBar class. You can create your own CExtDynTabControlBar -derived class with its own caption buttons and make Prof-UIS using it. This is described here:
http://www.prof-uis.com/prof-uis/tech-support/general-forum/tabbed-cextcontrolbar-2671.aspx
|
|
Roberto Manes
|
Jun 26, 2009 - 3:30 AM
|
I’m facing the following problem. I have one menu and two toolbars positioned at the top of a dialog bar. The first problem I’m facing is that I cannot position the second toolbar beside the first one. Also I noticed that when I click on some toolbar buttons (it happens only on a couple of buttons ???!!! ) the menu in the dialog bar changes its state from enabled to disabled, that is, even though it’s not greyed I cannot get access to any of the available functions. Just to explain better this scenario all the functions available through the menu and the toolbars are also available from the main menu of the mainframe. The application is a multidocument application. The dialog including the menu and the toolbars is a popup dialog. Here follows the PretranslateMessage() method of the dialog. thanks in advance for your help.
BOOL CUIDialogColorways::PreTranslateMessage(MSG* pMsg) { if( m_wndMenuBar.TranslateMainFrameMessage(pMsg) )
return TRUE;if( m_hAccelTable != NULL && WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)if( ::TranslateAccelerator( m_hWnd, m_hAccelTable, pMsg ) )return TRUE;
return CExtResizableDialog::PreTranslateMessage(pMsg); } { }
|
|
Technical Support
|
Jun 26, 2009 - 1:12 PM
|
The toolbars created inside any non-frame window can behave only like a classic status bar: they always occupy one row per toolbar. You should mix your two toolbars into one toolbar.
There is an important limitation related to the CExtMenuControlBar class: each menu bar window must be the only one menu bar in scope of one command profile of the Prof-UIS command manager.
The main frame window in your application initializes some named command profile and creates menu bar. The dialog window which also has its own menu bar should initialize its own command profile with unique name. You should invoke the CExtCmdManager::ProfileSetup() method in dialog’s OnInitDialog() virtual method and the CExtCmdManager::ProfileDestroy() method in dialog’s OnOK() and OnCancel() virtual methods.
If your code creates more than one menu bar in scope of one command profile, then both menu bars will work incorrectly.
|
|
tera tera
|
Jun 25, 2009 - 7:37 PM
|
Hello. I want to perform a decision when I clicked the point where there is not a tab button
In addition, the state that one tab button is not displayed.
I want to judge the mouse button click of this time.
Give my best regards
|
|
Technical Support
|
Jun 26, 2009 - 1:10 PM
|
You should use your CExtTabWnd -derived class, handle the WM_***BUTTONDOWN message(s) in it and use the CExtTabWnd::ItemHitTest() method to determine whether any tab item or button is pressed or not.
|
|
tera tera
|
Jun 28, 2009 - 10:26 PM
|
Hello. When one tab is not displayed,
WM_***BUTTONDOWN does not come.
|
|
Technical Support
|
Jun 30, 2009 - 6:04 AM
|
You should implement your CExtTabWnd -derived class which handles WM_***BUTTONDOWN message(s). Then create a CExtTabPageContainerWnd -derived class which implements the following virtual method: virtual CExtTabWnd * OnTabWndGetTabImpl()
{
return new CExtTWPC < C_YOUR_TabWnd >;
}
|
|
tera tera
|
Jun 30, 2009 - 3:28 AM
|
I made a solution of the problem by oneself.
Thank you very much for your advice.
|
|
Robert Webb
|
Jun 25, 2009 - 7:35 PM
|
Our old code sometimes used an icon instead of a text label beside check and radio boxes. This was a simple matter of calling SetIcon() on the standard MFC CButton controls. However in Prof-UIS, if I use the CExtCheckBox or CExtRadioButton classes and call SetIcon(), no icon appears. I just get a check/radio box with nothing next to it. If I use CExtButton instead then the icon appears on the button. Why isn’t this MFC-compatible for check and radio buttons too? How can I get the icon to appear? Thanks, Rob.
|
|
Technical Support
|
Jun 30, 2009 - 6:37 AM
|
We added this improvement into the CExtLabel source code.
|
|
Technical Support
|
Jun 26, 2009 - 1:09 PM
|
You can use the CExtButton class for subclassing check boxes and radio buttons. Such check boxes look like classic push buttons which are pressed in the checked state. The CExtButton::m_icon property is public so you can assign any icon you need to it. The CExtCmdIcon class allows you to specify several images for different icon states. That’s why we do not support the classic MFC icon assignment to the button control.
|
|
Robert Webb
|
Jun 28, 2009 - 6:44 PM
|
Well, for a start CExtButton can not behave like a radio button as far as I know, but more importantly the whole point is that I do not wish my check and radio boxes to appear like normal push buttons. If I did, I would have used normal push buttons, obviously. So I don’t follow your logic at all for not supporting this basic MFC capability. In MFC it’s a simple matter to have a check box or radio box with an icon beside it. Surely it is reasonable to expect the same from Prof-UIS. If an icon has been set, why not use it? Thanks, Rob.
|
|
Robert Webb
|
Jun 28, 2009 - 8:11 PM
|
I’ve managed to half work-around this limitation of Prof-UIS by making the check/radio box smaller and creating a CExtLabel to fill the remaining space. The CExtLabel shows the icon required beside the check/radio box. This works quite well except when the check/radio box needs to be greyed out. I am calling EnableWindow(false) for the label, but the icon just stays looking the same. In MFC, when a check/radio box has an icon and the control is disabled, the icon becomes greyed out. How can I make that happen in Prof-UIS for the CExtLabel control? Why doesn’t it happen automatically? Thanks, Rob.
|
|
Technical Support
|
Jun 29, 2009 - 1:31 PM
|
Please take a look at the CExtLabel::OnPaint() method. If you are using rectangular shape labels and or SS_BITMAP() labels, then the CExtLabel::OnPaint() invokes the default painting code of the static common control. If you are using the SS_ICON() labels, text labels or labels displaying extended bitmap which is assigned with the CExtLabel::SetBitmapEx() method, then the CExtLabel::DoPaint() virtual method does all the painting work. The SS_ICON() labels and extended bitmap labels are always painted with enabled like looking. The disabled labels are typically un-recognizable and meaning less. But you can change this label’s behavior. For instance, the following part of the CExtLabel::DoPaint() virtual method draws the SS_ICON() labels: else if( dwWndType == SS_ICON )
{
HICON hIcon = GetIcon();
if( hIcon != NULL )
{
CExtCmdIcon _icon;
_icon.AssignFromHICON( hIcon, true );
CSize szIcon = _icon.GetSize();
int nOffsetX = bCenterImage ? (rcClient.Width() - szIcon.cx) / 2 : 0;
int nOffsetY = bCenterImage ? (rcClient.Height() - szIcon.cy) / 2 : 0;
_icon.Paint( PmBridge_GetPM(), dc.GetSafeHdc(), rcClient.left + nOffsetX, rcClient.top + nOffsetY, -1, -1 );
}
} You can override the CExtLabel::DoPaint() virtual method and use the modified version of the code snipped above for painting disabled icons: if( dwWndType == SS_ICON )
{
HICON hIcon = GetIcon();
if( hIcon != NULL )
{
CExtCmdIcon _icon;
_icon.AssignFromHICON( hIcon, true );
CSize szIcon = _icon.GetSize();
int nOffsetX = bCenterImage ? (rcClient.Width() - szIcon.cx) / 2 : 0;
int nOffsetY = bCenterImage ? (rcClient.Height() - szIcon.cy) / 2 : 0;
_icon.Paint(
PmBridge_GetPM(), dc.GetSafeHdc(), rcClient.left + nOffsetX, rcClient.top + nOffsetY, -1, -1,
IsWindowEnabled() ? CExtCmdIcon::__PAINT_NORMAL : CExtCmdIcon::__PAINT_DISABLED
);
}
}
|
|
Robert Webb
|
Jun 30, 2009 - 12:51 AM
|
Thanks, this worked. It does feel like bad practice though to copy large chunks of code from the base class just to change one line in the derived version. I don’t understand why you don’t just include the change you give above directly in the CExtLabel code. Saying that "The disabled labels are typically un-recognizable and meaning less" isn’t a good excuse. The user won’t often disable a label. If they do, then surely greying it out is exactly what they intended. Rob.
|