Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » Problem getting Windows XP theme Collapse All
Subject Author Date
Keith MacDonald Sep 30, 2005 - 7:15 AM

I can’t figure out how to get the standard Windows XP theme. None of the themes selectable in the ProfUIS_Controls sample look anything like the corresponding applications actually do when running on Windows XP. I’ve checked that IDR_MANIFEST is included, which is all that’s normally required. What else is necessary?

Thanks

Technical Support Sep 30, 2005 - 7:45 AM

If you correctly include the manifest, you will get the look of XP-like controls, but only those controls that are not subclassed with Prof-UIS classes. If you mean the native XP look for Prof-UIS controls, unfortunately such theme is not yet supported, but this is in our To-Do list.

Keith MacDonald Sep 30, 2005 - 8:17 AM

That’s exactly what I meant. Any idea when you plan to check that off your To-Do list?

I noticed this issue when trying to use CExtButton with a drop-down menu, which is undocumented (why?), so looked at the ProfUIS_Controls sample for inspiration. It displays IDR_POPUP_MENU with all menu items visible except for IDC_MENU_ITEM_RARELY[1-3]. How does it do that? In my own test code, all five popup menu items are initially hidden - which is rather disconcerting.

Thanks

Technical Support Sep 30, 2005 - 12:14 PM

The CExtButton class becomes a drop-down button if its CExtButton::m_menu property, which is described in the help file, specifies the non-empty menu. So, drop-down buttons are documented. You can get your drop-down-menu buttons having a separate drop arrow area using the documented CExtButton::SetSeparatedDropDown() method.

Both menus and toolbars are based on the command descriptions (the CExtCmdItem class) in the command profiles (the CExtCmdProfile class) in the command manager (the CExtCmdManager class and the g_CmdManager variable). The command descriptions are used to store exact information about all the commands. If a command is basic, it is always initially visible in menus. This feature is used in the ProfUIS_Controls sample application, in which the g_CmdManager->SetBasicCommands() code is invoked in the CMainDlg::OnInitDialog() method.

We guess all the menu items in your application are initially visible because you have turned off the menu expand feature by assigning false to the CExtPopupMenuWnd::g_bMenuExpanding variable.

Finally, the following articles may be useful with regard to your questions:
http://www.prof-uis.com/ArticleRead.aspx?AID=220
http://www.prof-uis.com/ArticleRead.aspx?AID=140