Subject |
Author |
Date |
|
tera tera
|
Oct 15, 2009 - 8:34 PM
|
Hello. I want to non-display the bar which is in this state.
Please teach a method. ---> And can you restore a bar in this state?
Please teach a method.
|
|
tera tera
|
Nov 3, 2009 - 5:57 PM
|
>If the bar is in the auto hidden state, then user can show it from the auto hide tabs and then push the pin button to return the bar into the normal docked state. I want to non-display A-Bar by all means. ( Include the AutoHide mode )
Because a user removes AutoHide and operates A-bar. >If we make the auto hide tabs not showing the bar on muse hover, then the user will never be able to switch the bar into the docked state. The user will never see the bar’s pin button. I do not understand meanings of "muse hover" well.
What kind of command should I use to perform muse hover ??
|
|
tera tera
|
Oct 16, 2009 - 10:45 PM
|
I made a command.
Why are not there these standard commands? int CMuControlBar::HideBar()
{
CFrameWnd * fw = NULL;
if( IsFloating() == FALSE ){
fw = GetDockingFrame();
}
else{
CFrameWnd * minidoc = GetDockingFrame();
if( minidoc != NULL ) {
fw = (CFrameWnd*)minidoc->GetParent();
}
}
if( fw != NULL ) {
// AutoHideモード
if( AutoHideModeGet() ){
AutoHideModeSet( false, false, true, true );
return 0;
}
if( IsVisible() )
fw->ShowControlBar( this , FALSE, FALSE );
}
return 0;
}
|
|
Technical Support
|
Oct 20, 2009 - 9:30 AM
|
The dynamic resizable control bar (CExtDynamicControlBar ) provides simplified methods for managing bar state and visibility: CExtDynamicControlBar::BarStateGet() and CExtDynamicControlBar::BarStateSet() . But in the many cases we need to change positions/states/visibilities of several control bars at once without invoking the CFrameWnd::RecalcLayout() virtual method after changing position/state/visibility of each bar. Such hiding method cannot be applied for many bars at once.
|
|
tera tera
|
Nov 2, 2009 - 1:24 AM
|
Hello. About CExtControlBar, I want Hide and a Show command. I create these commands by myself.........
|
|
Technical Support
|
Nov 9, 2009 - 1:20 PM
|
Such commands are present in dynamic resizable bars. The show/hide command does not cover all the possible states of simple control bars.
|
|
Technical Support
|
Oct 16, 2009 - 12:57 PM
|
If the bar is in the auto hidden state, then user can show it from the auto hide tabs and then push the pin button to return the bar into the normal docked state. If we make the auto hide tabs not showing the bar on muse hover, then the user will never be able to switch the bar into the docked state. The user will never see the bar’s pin button.
|
|
Halfdom LCap
|
Oct 15, 2009 - 4:23 PM
|
Hi, I ’m trying to use CExtTabMdiWhidbeyWnd under structure of single-document template and multi-view. I want to set each tab caption different. But the result is like this || Name1 || Name1 || Name1 || Name1 || How can I change the tab caption after creation?
|
|
Halfdom LCap
|
Oct 21, 2009 - 12:53 PM
|
First time, I used CExtTabMdiWhidbeyWnd. The problem was solved by "OnTabWndQueryItemText".
|
|
Technical Support
|
Oct 16, 2009 - 1:36 AM
|
Prof-UIS contains five types if tab and tab-based controls:
1) The basic tab windows. They are the single or multiple line tab controls displaying a list of tab items in one or more rows/columns: CExtTabWnd , CExtTabWhidbeyWnd , CExtTabFlatWnd , CExtTabButtonsWnd and CExtTabOneNoteWnd . Your application us completely responsible for managing the set of tab items displayed by these basic tab windows. These classes are implementing the generic tab controls simply displaying tab items using different styles. The CExtTabWnd class is based on the currently installed Prof-UIS paint manager. Other classes are implementing tab controls which have a look independent from Prof-UIS paint manager. The Tab Control dialog page in the ProfUIS_Controls sample application is dedicated to the basic tab controls.
2) MDI tab controls. They are based on the basic tab controls (1) displayed in the previous paragraph: CExtTabMdiWnd , CExtTabMdiWhidbeyWnd , CExtTabMdiFlatWnd , CExtTabMdiButtonsWnd and CExtTabMdiOneNoteWnd . These MDI tab controls must be created as children of the MFC’s CMDIFrameWnd class only. Your application should never try to insert tab items into these controls. They are automatically managing their tab items and each tab item is corresponding to the MDI child frame window created inside the MDI main frame window. The MDI tab controls should not be created inside the MFC SDI frame windows. For example, the DRAWCLI sample application is based on the MFC’s MDI document/view interface and it uses the CExtTabMdiOneNoteWnd MDI tabs control.
3) The tab page containers. The tab page container control is the single window which contains several page windows inside it and only one page window is visible. Additionally the tab page container window has one more constantly visible window inside it: the tab control(1) which is used for selecting the currently visible page window. The tab page containers are the following classes: CExtTabPageContainerWnd , CExtTabPageContainerWhidbeyWnd , CExtTabPageContainerFlatWnd , CExtTabPageContainerButtonsWnd and CExtTabPageContainerneNoteWnd . The Tab Containers dialog page in the ProfUIS_Controls sample application is dedicated to the tab page container controls.
4) The tabbed toolbar controls. The tabbed toolbar is the toolbar like looking and tab page container like looking control at the same time. The tabbed toolbar contains the tab page container control (3) which contains the CExtToolControlBar windows as tab pages. The tabbed toolbar controls are the following classes: CExtTabbedToolControlBar , CExtTabbedToolControlBarButtons , CExtTabbedToolControlBarFlat , CExtTabbedToolControlBarWhidbey and CExtTabbedToolControlBarOneNote . The TabbedBars sample application is dedicated to the tabbed toolbars.
5) The dynamic tabbed groups of resizable control bars (CExtControlBar ). The resizable control bar (CExtControlBar ) implements the Visual Studio .NET / Visual Studio 2005 / Visual Studio 2008 - like dockable panel. These dockable panels can be organized in to a tabbed groups. The ProfStudio sample application contains ~50 control bars and many of them are organized into tabbed groups.
Your question is mainly related to the CExtTabMdi*** classes (2) and they cannot be created inside the SDI frame windows (the MFC’s CFrameWnd class). The MDI frames can be created inside MDI frame windows only (the MFC’s CMDIFrameWnd class). Please choose which one of the tabbed controls provided by Prof-UIS do you really need. If your main frame window is SDI frame (CFrameWnd ) then you can create the tab page container window (3) instead of the main SDI view window (the SimpleGrids sample application does this).
|
|
Halfdom LCap
|
Oct 15, 2009 - 10:56 AM
|
Dear , Two weeks ago, I asked how to use CExtListCtrl at the example of "MDI_DynamicInnerOuterBars " and sent my project codes. I tried to do the way that you said the reply, but some problem.
I tried to initialize with columns and items, but the result was creation fail.
Can you show me the sample code? I don’t know how to do.
-- Original question and reply--
I’m using 2.85 version.
I refer from the example of "MDI_DynamicInnerOuterBars ".
I ’m trying to use CExtListCtrl in place of CSimpleDynamicEdit in the sy
The source of CSimpleDynamicEdit is
in MainFrm.cpp
pLogEdit = new CSimpleDynamicEdit;
VERIFY(pLogEdit->Create(
m_parrControlBars[i]->m_hWnd,
NULL) );
pCpriEdit->SetWindowText("Log Monitor");
How to use CExtListCtrl in place of CSimpleDynamicEdit?
=> I sent my project code to you(support@prof-uis.com ).
Please,check up the project source.
Thanks.
=> Reply
We received your project. The code at line 400 in Mainfrm.cpp is absolutely OK:
. . . . .
#if 1
CSimpleDynamicListViewCtrl * pList = new CSimpleDynamicListViewCtrl;
CWnd * pWnd = CWnd::FromHandle(m_parrControlBars[i]->m_hWnd);
VERIFY(
pList->Create(
WS_CHILD|WS_VISIBLE,
CRect(0,0,1,1),
pWnd,
UINT(555)
)
);
#else
. . . . .
It simply creates фт un-initialized list view control without items and columns
|
|
Technical Support
|
Oct 16, 2009 - 12:57 PM
|
We received your e-mail and replied it. Our reply has attached the improved version of your test project.
|
|
Halfdom LCap
|
Oct 15, 2009 - 3:58 PM
|
|
|
Technical Support
|
Oct 15, 2009 - 1:06 PM
|
We received several e-mails related to the improved versions of the MDI_DynamicInnerOuterBars sample application and replied to all of them. But it’s possible your e-mail was not delivered. Could you please re-send us your e-mail from another account?
|
|
Halfdom LCap
|
Oct 15, 2009 - 4:06 PM
|
|
|
Technical Support
|
Oct 16, 2009 - 12:57 PM
|
We received your e-mail and replied it. Our reply has attached the improved version of your test project.
|
|
Hans Peter Miedeck
|
Oct 15, 2009 - 3:32 AM
|
Dear sirs and madams,
After a year I will once again dare to upgrade to Visual Studio 2008. Unfortunately, I still have the problem that the error message "can not open include file ’Resources / Resource.rc’" appear. Under projectname.rc2 you find tihs:
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
#if ( !(defined _AFXDLL && !defined __STATPROFUIS_WITH_DLLMFC__) )
#include <Resources/Resource.rc>
#endif
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////
The Project Properties look like this... and in the Release Version you find this...
Can you help me?
|
|
Technical Support
|
Oct 16, 2009 - 1:25 PM
|
Your project compiles and runs OK on our computer. Please invoke the Tools | Options menu in your Visual Studio 2008, then select Projects and Solutions | VC++ Directories tree item, then select the Include files combo box item in the Show directories for combo box. The displayed Include folders list should contain the following strings first:
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)\include
$(WindowsSdkDir)\common\include
$(FrameworkSDKDir)include
Then you may have several folders related to any newer Platform SDK, DirectX SDI or any other later installed SDK. If any newer SDKs put their include folders before the $(VCInstallDir)include folder, then move their folders to the bottom of the Include folders list. We also suspect the Visual Studio 2008 may have some Unicode support bugs. If our guess is correct, then you can re-install Prof-UIS into some folder which uses only the English characters in its name and all the parent folder names.
|
|
Hans Peter Miedeck
|
Oct 16, 2009 - 2:55 AM
|
here is my /Prof-UIS/Include/Resources Folder... (there is too the Resource.rc File) and now the Errors... You can find the test Project HERE... Thank you very much...
|
|
Technical Support
|
Oct 15, 2009 - 1:00 PM
|
First of all, please check the …/Prof-UIS/Include folder has the Resource subfolder and you can find the …/Prof-UIS/Include/Resources/Resource.h file in it. Your project settings look like ok. You can send us a smallest possible test project reproducing the problem to the support mail box at this web site and will check it.
|
|
Eric Houvenaghel
|
Oct 14, 2009 - 8:38 AM
|
In the report grid, Is there a faster way of retrieving the number of selected rows then the following method: // Get the first selected row.
LONG lRowCount = 0;
LONG lRowDataNo = GetFirstSelectedRowGrid();
while(lRowDataNo != -1) {
// Is this row childless?
if(IsChildlessRowGrid(lRowDataNo)) {
// Increment the row count.
lRowCount++;
}
// Go to the next selected row.
lRowDataNo = GetNextSelectedRowGrid(lRowDataNo);
} In other words, is there a faster way then to COUNT all of the selected rows?
|
|
Technical Support
|
Oct 14, 2009 - 12:23 PM
|
This method is OK.
But you can also track the selection on the fly. You should override the CExtGridBaseWnd::_SelectionAreaConvert() internal virtual method and keep indices of the selected rows in some map. This virtual method is invoked for converting the new selection rectangles on the fly before grid will store them as parts of selection region.
|
|
Mattis Ovesen
|
Oct 14, 2009 - 6:55 AM
|
Dear Support,
Take a look at the screenshot below. Is it possible to have a PROF-UIS Ribbon page to a have a label similar to the "WordArt Tools" label?
Thanks, Mattis
|
|
Technical Support
|
Oct 14, 2009 - 12:23 PM
|
Both context toolbar and context tabs are in our to-do list. We are releasing Prof-UIS 2.87 now. Then we will pay attention to these features and provide you with the source code update.
|
|
Mattis Ovesen
|
Oct 14, 2009 - 6:41 AM
|
Dear Support,
Any plans of implementing something similar to the Microsoft Office mini toolbar?
Screenshot from Microsoft Word:
Thanks, Mattis
|
|
Technical Support
|
Oct 14, 2009 - 12:23 PM
|
Both context toolbar and context tabs are in our to-do list. We are releasing Prof-UIS 2.87 now. Then we will pay attention to these features and provide you with the source code update.
|
|
tera tera
|
Oct 14, 2009 - 4:22 AM
|
|
|
Technical Support
|
Oct 14, 2009 - 11:52 AM
|
The AVI file is broken. It’s real size is approximately 500 kb. Windows media player cannot play it. VLC player is able to repair it and display the first frame only.
|
|
tera tera
|
Oct 14, 2009 - 6:23 PM
|
|
|
Technical Support
|
Oct 15, 2009 - 1:02 PM
|
You activated some MDI document via clicking a non-selected tab item inside the One Note MDI tabs. They you started drag-n-dropping some resizable bar and it’s became floating only after some delay. The problem is not related to the One Note style of tabs. We checked Whidbey and One Note tabs in the ProfStudio sample application. There is no delay there. The MDI child frames in this sample application are containing the multiline editor controls. Your MDI child frames are displaying some compound drawings. We suspect this is the source of this problem. The newly activated MDI child frame in your application simply causes a longer in time repainting of the contained view window.
|
|
tera tera
|
Oct 16, 2009 - 8:59 PM
|
Hello. I made a reproduction program with malfunction.
I sent a program by an email.
please answer.
Give my best regards.
|
|
tera tera
|
Oct 19, 2009 - 6:33 PM
|
Did the email arrive definitely? Give my best regards.
|
|
Technical Support
|
Oct 20, 2009 - 10:33 AM
|
We received your e-mail. We compiled your project successfully (we had to comment bitmap resources with the Japanese file names). We run it. That is what we saw:
We re-docked the bars 1, 2 and 3 into all the possible combinations. But the frame layout was always recomputed correctly after un-docking any of bars. Probably there is something wrong with the project we received from you. We didn’t saw MDI tab control and the new MDI child frame cannot be created via menu commands of your test application.
|
|
tera tera
|
Oct 21, 2009 - 12:12 AM
|
|
|
Technical Support
|
Oct 22, 2009 - 12:53 PM
|
Thank you very much for reporting us this issue. Your test project helped us very much. This issue is fixed in the latest Prof-UIS 2.87. You can download it from the same location.
|
|
tera tera
|
Oct 14, 2009 - 7:14 PM
|
|
|
Carsten Pedersen
|
Oct 13, 2009 - 4:44 AM
|
Hi, We have a ProfUIS-skinned dialog which has some flickering problems. On a Tab (CExtTabPageContainerWnd) we have an empty dialog, which I runtime fill with bars that are implemented as child dialogs(CExtResizableDialog). Whenever I call Invalidate(FALSE) on the child dialogit first removes the dialog, repaints the skinned background and then paints the bar. This results in flickering whenever it gets updated.
We want to call Invalidate with the FALSE parameter, because we don’t want the dialog to be erased, just to be repainted on top of itself. However, it still gets erased. Is this something that ProfUIS overrides, and can we do anything to avoid this erasing behavior? Thanks in advance
|
|
Carsten Pedersen
|
Oct 29, 2009 - 1:15 AM
|
Hi again, I have sent you a reply to the corrected program you sent me. Best regards,
Carsten Pedersen
|
|
Technical Support
|
Oct 30, 2009 - 2:32 PM
|
We received your e-mail and replied it.
|
|
Carsten Pedersen
|
Oct 27, 2009 - 2:38 AM
|
I have just sent you a test program. Carsten
|
|
Technical Support
|
Oct 27, 2009 - 2:26 PM
|
We received your e-mail and replied it with the fixed project in attachment.
|
|
Carsten Pedersen
|
Oct 26, 2009 - 9:39 AM
|
It is a rather complex application, and stipping it down is time consuming. However, I hope that I can do it one of these days. Thanks in advance. Carsten
|
|
Technical Support
|
Oct 14, 2009 - 11:52 AM
|
The UI design is OK. We still believe there is something wrong with window styles or z-orders of dialog controls. Could you please create a smallest possible stripped version of your project containing UI code only and send it to us?
|
|
Carsten Pedersen
|
Oct 14, 2009 - 6:43 AM
|
I tried to set WS_CLIPCHILDREN|WS_CLIPSIBLINGS to the main dialog on the tab page as well as the child dialogs laid out on the main dialogs. This resulted in the child dialogs not being updated at all. When changing to another tab and back again it was obvious that the child dialogs weren’t updated. In order for me to clarify the setup, I’ll just shortly describe the dialog hierarchy: - On top level we have the Tab container (CExtTabPageContainerWnd)
- On the first tab page I have an empty dialog (A). The empty dialog is created runtime as a child dialog.
- Inside the (A) dialog, I have created multiple smaller dialogs, that work as 2D bar charts. Each bar is created runtime as child dialogs and laid out on the (A) dialog. On every update, the 2D bar charts are drawn, but naturally not the whole frame is used to draw the bar, it depends on the height of the bar. Thus, the ProfUIS skinned background should be drawn on the area where bars aren’t drawn, as if the dialog was transparent. Can this be done how you describe? It doesn’t seem to have the wanted effect, what you suggest. Is it necessary to implement double buffering for this to work?
|
|
Technical Support
|
Oct 13, 2009 - 10:40 AM
|
Please check the following:
1) The tab page container control is created with the WS_CLIPCHILDREN|WS_CLIPSIBLINGS styles.
2) The dialog template resources have both clip children and clip siblings styles set on.
3) The z-indices of controls such as group boxes and static frames on each dialog template resource are greater than z-indices of all the controls inside them.
|
|
Gevork Odabashyan
|
Oct 12, 2009 - 4:26 AM
|
|
|
Gevork Odabashyan
|
Oct 16, 2009 - 5:39 AM
|
No thanks, we need official released version. Can you say when we can get it?
|
|
Technical Support
|
Oct 15, 2009 - 1:03 PM
|
|
|
Gevork Odabashyan
|
Oct 16, 2009 - 5:39 AM
|
No thanks, we need official released version. Can you say when we can get it?
|
|
JM Kwon
|
Oct 9, 2009 - 6:12 PM
|
Hi. Do not speak English.
Want to understand the cycle. class CTimerTreeCtrl : public CExtTreeCtrl
{
DECLARE_DYNCREATE( CTimerTreeCtrl );
public:
CTimerTreeCtrl() { }
~CTimerTreeCtrl() { }
CBitmap m_bmp; class CTimerErrorGrid : public CExtGridWnd
{
DECLARE_DYNAMIC(CTimerErrorGrid)
public:
CTimerErrorGrid(void) { }
~CTimerErrorGrid(void) { }
CBitmap m_bmp; :\users\ds5tpc\source\obara\software\smartdb-09-10-05\smartdb\smartdb.cpp(203) : {225} client block at 0x0020AE70, subtype c0, 9672 bytes long.
a CObject object at $0020AE70, 9672 bytes long
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(141) : {223} normal block at 0x0020AE18, 23 bytes long.
Data: <, h > 2C 08 89 68 06 00 00 00 06 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(141) : {222} normal block at 0x0020ADB8, 33 bytes long.
Data: <, h > 2C 08 89 68 10 00 00 00 10 00 00 00 01 00 00 00
{221} normal block at 0x0020AD68, 20 bytes long.
Data: < @ h@ h@ h> 04 00 00 00 40 08 89 68 40 08 89 68 40 08 89 68
{220} normal block at 0x0020AD08, 32 bytes long.
Data: < Rhh l > 98 52 68 68 04 00 00 00 6C AD 20 00 C8 AD 20 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\oleinit.cpp(84) : {217} client block at 0x0020AC18, subtype c0, 68 bytes long.
a CCmdTarget object at $0020AC18, 68 bytes long
Object dump complete. OS : Vista Korea Ver: 2.85 MDI mode Thank s..
|
|
JM Kwon
|
Oct 13, 2009 - 5:25 PM
|
sorry.. Was resolved. virtual ~TimerTreeCtrl(); virtual ~TimerErrorGrid(); Thank you very much for your interest ...
|
|
Technical Support
|
Oct 12, 2009 - 3:53 AM
|
You can send a test project to the support mail box at this web site so we will check it
|
|
JM Kwon
|
Oct 9, 2009 - 6:21 PM
|
only in class CMainFrame : public CExtNCW < CMDIFrameWnd >
|
|
Eric Houvenaghel
|
Oct 9, 2009 - 7:58 AM
|
Hi How can I make the Text Filters in the report grid case insensitive?
|
|
Eric Houvenaghel
|
Oct 13, 2009 - 10:04 AM
|
|
|
Technical Support
|
Oct 10, 2009 - 5:10 AM
|
The CExtGridCellHeaderFilter::OnQueryTextValueFilteredStateTF() virtual method checks the text filters. The CExtGridCellHeaderFilter::OnQueryTextValueFilteredStateVF() virtual method checks the value filters. You can override these methods in your CExtReportGridColumn -derived class and perform your case-insensitive comparisons. The CExtReportGridWnd::ReportColumnRegister() method allows you to use your CExtReportGridColumn -derived class as report column description object instead of the CExtReportGridColumn class as is.
|
|
Borremans Pierre
|
Oct 9, 2009 - 1:51 AM
|
I use a CExtPageNavigatorWnd in a CExtControlBar. All is correct but when I go over the button to change the pane, I lost the mouse cursor. What can I do to recover the mouse cursor ?
|
|
Borremans Pierre
|
Oct 13, 2009 - 7:54 AM
|
I debug the file extpagenavigator and I see in the function _createHelper, m_hHandCursor had no value but the m_hSizeCursor had a value
|
|
Technical Support
|
Oct 13, 2009 - 10:43 AM
|
The standard hand like cursor is not available on older Windows versions. That’s why we are using the IDC_EXT_HAND hand cursor from the Prof-UIS resources. If your project uses Prof-UIS as DLL, then this cursor always can be loaded successfully. If your project uses Prof-UIS as static library, then you should include Prof-UIS into the .rc2 file manually. Please take a look at the .rc2 files in any of Prof-UIS sample projects and you will find the following lines:
#if ( !(defined _AFXDLL && !defined __STATPROFUIS_WITH_DLLMFC__) )
#include <Resources/Resource.rc>
#endif
|
|
Borremans Pierre
|
Oct 13, 2009 - 6:41 AM
|
Can I overload a function for solving my problem ?
|
|
Technical Support
|
Oct 13, 2009 - 10:41 AM
|
Which function would you like to overload?
|
|
Technical Support
|
Oct 12, 2009 - 12:36 PM
|
Could you create a simplest possible test project reproducing this issue and send it to the support mail box at this web site?
|
|
Borremans Pierre
|
Oct 12, 2009 - 6:44 AM
|
I comment all setcursor() (we don’t use setcursorpos) but nothing change. It’s very strange beauce when I click on a button the pane change. With a release version on another computer we have the same problem
|
|
Technical Support
|
Oct 10, 2009 - 5:00 AM
|
First of all, please check all the invocations of the SetCursor() API in your project. Prof-UIS never sets empty cursors and nobody reported such problems yet. Second, please check all the invocations of the SetCursorPos() API in your project. Probably something moves cursor programmatically far outside the page navigator in your application. Only the splitter control in Prof-UIS changes the cursor position but we are sure it’s OK and splitters are not used by resizable control bar and page navigator control. Third, check this problem on several computers. It’s always possible you are using some system wide hook based software which affects to this problem.
|
|
tera tera
|
Oct 9, 2009 - 1:38 AM
|
Hello. In a list of drop-downs of the possible deformity,
A list is replaced.
I want to perform the change of explanation contents in the same way.
|
|
Technical Support
|
Oct 10, 2009 - 5:14 AM
|
Thank you for reporting this. We implemented the auto-change-able screen tips. Please download the latest source code.
|
|
tera tera
|
Oct 9, 2009 - 1:09 AM
|
|
|
Technical Support
|
Oct 10, 2009 - 5:14 AM
|
We fixed all the reported issues related to the tab item drag-n-dropping. You can re-download the newer source code.
|
|
tera tera
|
Oct 7, 2009 - 4:25 AM
|
|
|
Technical Support
|
Oct 30, 2009 - 2:37 PM
|
You should implement the WM_NCHITTEST message handler which should detect client area first of all and return HTCLIENT code for it. Then it should detect the border areas and return appropriate HT*** codes for them. Then it should let the DWM to hit-test glass buttons using the code like this:
if( g_PaintManager.m_DWM.DwmDefWindowProc(
hWnd,
message, // WM_NCHITTEST
wParam,
lParam,
&lResult
)
)
return lResult; // HT*** code from DWM
Then it should detect caption icon rectangle and return HTSYSMENU for it. The rest area is HTCAPTION .
|
|
tera tera
|
Nov 1, 2009 - 7:14 PM
|
In g_PaintManager.m_DWM.DwmDefWindowProc, HT** does not return.
zero always returns.
LRESULT lr = 0L;
lr = DefWindowProc ( message , wParam , lParam ); switch ( lr ){
case HTCLIENT:
case HTSYSMENU: //
case HTMAXBUTTON: //
case HTMINBUTTON: //
return 1;
break;
}
If it is DefWindowProc, HT** returns.
|
|
Technical Support
|
Nov 2, 2009 - 9:09 AM
|
The DWM window procedure should be called and this is required for normal DWM operation.
|
|
Technical Support
|
Oct 27, 2009 - 2:32 PM
|
Please insert the following code at the beginning of the CMuResizableDialog::WindowProc() method:
if( message == WM_NCLBUTTONDOWN && m_blGrassModeFlag )
{
HWND hWndOwn = m_hWnd;
SetRedraw( FALSE );
LRESULT lr = CExtResizableDialog::WindowProc( message, wParam, lParam );
if( ! ::IsWindow(hWndOwn) )
return lr;
SetRedraw( TRUE );
return lr;
}
if( message == WM_NCHITTEST && m_blGrassModeFlag )
{
LRESULT lr = 0L;
if( g_PaintManager.m_DWM.DwmDefWindowProc( m_hWnd, message, wParam, lParam, &lr ) )
return lr;
}
|
|
tera tera
|
Oct 28, 2009 - 2:44 AM
|
The dialogue seems to respond a click. Give my best regards http://ifreeta.dee.cc/20091028/Untitled15.html // ----------------------------------------------------------------------------
/**
* @brief
*/
// ----------------------------------------------------------------------------
LRESULT CMuResizableDialog::WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam
)
{
if ( message == WM_DESTROY )
{
if ( m_blERBtnFlag == TRUE ){
if ( m_blERBtnWayFlag == TRUE ){
ERChange();
}
}
} bool bInvalidate = false;
// Window Captionの設定
if( message == WM_SETTEXT )
{
bInvalidate = true;
} //
if( message == WM_NCLBUTTONDOWN && m_blGrassModeFlag )
{
HWND hWndOwn = m_hWnd;
SetRedraw( FALSE );
LRESULT lr = CExtResizableDialog::WindowProc( message, wParam, lParam );
if( ! ::IsWindow(hWndOwn) ){
return lr;
}
SetRedraw( TRUE );
return lr;
}
if( message == WM_NCHITTEST && m_blGrassModeFlag )
{
LRESULT lr = 0L;
if( g_PaintManager.m_DWM.DwmDefWindowProc( m_hWnd, message, wParam, lParam, &lr ) ){
return lr;
}
} LRESULT lResult = CExtResizableDialog::WindowProc( message, wParam, lParam ); if( bInvalidate ){
OnNormalERPaint();
}
return lResult;
}
|
|
Technical Support
|
Oct 28, 2009 - 9:49 AM
|
It’s clickable because you should handle the WM_NCHITTEST message and implement the complete window hit-testing without invoking the default window procedure (parent method class).
|
|
tera tera
|
Oct 28, 2009 - 6:51 PM
|
Hello. I thought.
However, I do not understand realization methods well.
I am troubled. Give my best regards
|
|
Technical Support
|
Oct 7, 2009 - 9:55 AM
|
We are waiting for your e-mail. The white image with hollow x inside square is painted as white over the DWM surface because the source pixels of it are black. Please check what and where you code draws into DWM surface.
|
|
tera tera
|
Oct 26, 2009 - 6:43 PM
|
|
|
tera tera
|
Oct 7, 2009 - 3:30 AM
|
Hello. I start RibbonBar Sample. I change a theme.
I finish application.
However, theme information is not saved. ??? ( RibbonBar Sample )
|
|
Technical Support
|
Oct 8, 2009 - 11:18 AM
|
It’s stable and tested. But, of course, we cannot guarantee there are no any additional bugs will not be detected until the release date.
|
|
Technical Support
|
Oct 7, 2009 - 9:54 AM
|
We are using this sample project for developing ribbon skin themes and office 2010 theme. It’s in the "disassembled" state right now. The CMainFrame class constructor in it simply does not load the paint manager state.
|
|
tera tera
|
Oct 7, 2009 - 8:07 PM
|
I am going to ship our product using Prof-UIS.
I ship a product using the profuis287(2009-10-05) version
Is there any problem?
|
|
tera tera
|
Oct 5, 2009 - 7:50 PM
|
Hello. I was colorful and was able to display a ribbon menu. However, only a general color is displayed when I minimized a ribbon menu.
I want to display this menu in a color. Please teach a virtual function
|
|
Technical Support
|
Oct 7, 2009 - 9:53 AM
|
How exactly did you implement this colorization? What virtual method exactly do you need?
|
|
tera tera
|
Oct 19, 2009 - 10:29 PM
|
|
|
Technical Support
|
Oct 20, 2009 - 11:52 AM
|
The solution is very simple. We improved the assignment constructor of the CMuRibbonNodeGroup class and implemented the CMuRibbonNodeGroup::Serialize() virtual method in the same class:
CMuRibbonNodeGroup::CMuRibbonNodeGroup(
CMuRibbonNodeGroup & other
)
: CExtRibbonNodeGroup( other )
{
CMuRibbonNodeGroup * pOtherOfMyType = DYNAMIC_DOWNCAST( CMuRibbonNodeGroup, (&other) );
if( pOtherOfMyType != NULL )
m_clBkRef = pOtherOfMyType->m_clBkRef;
else
m_clBkRef = DEF_COLOR_BLUE;
}
void CMuRibbonNodeGroup::Serialize( CArchive & ar )
{
CExtRibbonNodeGroup::Serialize( ar );
if( ar.IsStoring() )
{
ar << DWORD(m_clBkRef);
}
else
{
DWORD dwTmp;
ar >> dwTmp;
m_clBkRef = COLORREF(dwTmp);
}
}
|
|
tera tera
|
Oct 21, 2009 - 3:00 AM
|
|
|
Technical Support
|
Oct 6, 2009 - 1:20 PM
|
The popup ribbon tab page is a completely independent window of CExtRibbonPage type. This popup ribbon page window initializes its buttons using the command tree nodes of the selected ribbon tab page of the main ribbon bar control. If you implemented your own ribbon button group nodes instantiating your ribbon group buttons, then you should see the equal colorized button groups.
|
|
tera tera
|
Oct 6, 2009 - 6:58 PM
|
I want a virtual function similar to RibbonPage.
|
|
tera tera
|
Oct 4, 2009 - 9:14 PM
|
Hello. When I double-click the following points.
A dialog is displayed.
I do not want to display this dialog.
In addition, Assert is displayed if I set it..
|
|
tera tera
|
Oct 6, 2009 - 7:12 PM
|
|
|
Technical Support
|
Oct 7, 2009 - 9:53 AM
|
Fixed. We added the following method into the CExtRibbonPage class.
virtual bool DoFormCustomization(
bool bDelayShow // = false
);
bool CExtRibbonPage::DoFormCustomization(
bool bDelayShow // = false
)
{
ASSERT_VALID( this );
bDelayShow;
return false;
}
|
|
Technical Support
|
Oct 5, 2009 - 12:48 PM
|
The CExtCustomizeSite::DoFormCustomization() virtual method displays the customization form. You can override it and return false if you want to prevent the customization form displaying.
|
|
tera tera
|
Oct 5, 2009 - 7:33 PM
|
>You can override it and return false if you want to prevent the customization form displaying.
All right. By the way, when I set new tool bar.
Assert is displayed.
|
|
Technical Support
|
Oct 6, 2009 - 1:19 PM
|
We cannot reproduce this assertion in Prof-UIS sample applications. Please provide us with the call stack listing or test project.
|
|
Offer Har
|
Oct 3, 2009 - 3:03 PM
|
Dear Support, We have a tab control in a dialog that worked well in 2.84, and when moving to 2.87 this line: ModifyTabWndStyleEx(0, __ETWS_EX_CLOSE_ON_TABS);
Crashes the application. Please check. Thanks, Ron.
|
|
Technical Support
|
Oct 5, 2009 - 8:08 AM
|
The DRAWCLI sample application uses this feature and it’s not crashing in 2.87. Which kind of tabs are you using? MDI? Stand-alone? Tab page container? Which style of tabs are you using? You will make us happy if you let us to take a look at the call stack listing.
|