Subject |
Author |
Date |
|
tera tera
|
Dec 24, 2008 - 6:17 PM
|
Hello. When I add 300 dialog to CExtTabPageContainerFlatWnd.
Drawing of UI becomes abnormally slow.
Please teach good improvement plan. I sent a sample program by an email.
|
|
Technical Support
|
Dec 26, 2008 - 2:09 PM
|
If you allocate 10000 GDI handles, Windows will start using the "System" proportional font everywhere. So, you should not allocated 10000 GDI handles. Approximately the same we can say about allocating 300 tab pages. Besides, keeping 300 items in the single line tab control is not a a user friendly design. This design should be replaced with something else. For instance, you can use a list box inside tab control and created only one page window which corresponds to the selected list box item.
|
|
tera tera
|
Dec 26, 2008 - 7:47 PM
|
Hello. >This design should be replaced with something else.
>For instance, you can use a list box inside tab control and created only one page window which corresponds to the selected list box item. In order that I simplify a story, I showed such an example.
Actually, it is used in the following examples.
I change only the display of the grid, Even suggestion of the substitute plan is good.
I want a sample.
|
|
Technical Support
|
Dec 29, 2008 - 8:32 AM
|
You are using too many tabs. If you do not trust our point of view, then please read what Microsoft recommends for people who creates too much tabs:
http://msdn.microsoft.com/en-us/library/aa511493.aspx
Here is the part of the Windows User Experience Interaction Guidelines document (http://msdn.microsoft.com/en-us/library/aa511258.aspx) referred above:
- Use horizontal tabs if: * The window has seven or fewer tabs. * All the tabs fit on one row, even when the user interface (UI) is localized. - Use vertical tabs if: * The property window has eight or more tabs. * Using horizontal tabs would require more than one row. - Don’t nest tabs or combine horizontal tabs with vertical tabs. Instead, reduce the number of tabs, use only vertical tabs, or use another control such as a drop-down list. - Don’t scroll horizontal tabs. Horizontal scrolling isn’t readily discoverable. You may scroll vertical tabs, however. - For tabs on a resizable window or pane, put a scrollbar, when needed, on the page, not the window or pane. The tabs should always be visible and not scroll out of view. - Make sure the tabs look like tabs and not another type of control. - Don’t use product logos for tab graphics. Tabs aren’t for branding.
|
|
tera tera
|
Dec 26, 2008 - 7:28 PM
|
Hello. >If you allocate 10000 GDI handles, Windows will start using the "System" proportional font everywhere. Will the reason why CPU processing becomes slow be that Windows uses a lot of proportional font?
I made 300 dialogues without using CExtTab.
The CPU processing does not seem to become slow. CExtTab uses CPU time in large quantities?
|
|
Technical Support
|
Dec 29, 2008 - 8:31 AM
|
The handle count is the problem. You created 300 dialogs which have 300 HWND handles. If each dialog has at least 3 child windows, the total count of handles will be 1200. This is too many.
|
|
tera tera
|
Jan 4, 2009 - 6:37 PM
|
Hello. I make plural tabs , Can it be always called only one CWnd?
|
|
Technical Support
|
Jan 6, 2009 - 12:23 PM
|
|
|
tera tera
|
Jan 6, 2009 - 4:47 PM
|
Hello. I ask for a sample code. Thanks,
|
|
Technical Support
|
Jan 8, 2009 - 10:14 AM
|
Please provide us with more details about the test project you need. Should it be dialog-based or frame-based? Where dynamically created tab pages should appear in it?
|
|
tera tera
|
Jan 8, 2009 - 5:10 PM
|
Hello. >Should it be dialog-based or frame-based?
dialog-based >Where dynamically created tab pages should appear in it?
It is a tab sticking to custom control. Thanks,
|
|
Technical Support
|
Jan 9, 2009 - 8:37 AM
|
Here is the test project:
http://www.prof-uis.com/download/forums/TestDynamicTabPageContainer.zip
We created a new CExtDynamicTabPageContainerWnd class for you. We tried to make it very similar to Prof-UIS tab page container windows. But it does not keep page windows for all the tab items. The CExtDynamicTabPageContainerWnd::OnCreatePageWindow() virtual method is invoked for creating page window for selected tab item. The page window of previously selected tab item is destroyed automatically.
|
|
tera tera
|
Jan 14, 2009 - 1:57 AM
|
Hello. Thank veryˆ2 much.
|
|
tera tera
|
Dec 30, 2008 - 12:06 AM
|
Hello. Make only a multiplex tab, Will it be possible for one CWnd( CExtGrid ) to be displayed?
I want a sample. Thank you
|
|
Technical Support
|
Dec 31, 2008 - 2:57 AM
|
You can create a CExtGridWnd window as a child of any other window. What do you mean by the multiplex tab window in your question?
|
|
tera tera
|
Dec 24, 2008 - 7:40 PM
|
Hello. The MFC program does not use the CPU processing time in large quantities even if I make 300 dialog (grid) by a normal MFC program.
I am troubled.
Please teach a good method.
|