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 » Visual Studio 2005 + Office 2003 GUI Collapse All
Subject Author Date
Juri Tsjornoi Nov 16, 2004 - 6:03 AM

Hello!


How to use (if it’s possible) docking markers from VS 2005 in application, that uses Office 2003 interface?


Big thanks in advance!!!

Technical Support Nov 16, 2004 - 8:00 AM

Below are the code snippets notifying all resizable control bars that the following drag-and-drop algorithm should be used:


2005 algorithm

CExtControlBar::g_eResizablePanelDockingType =
  CExtControlBar::__RESIZABLE_DOCKING_TYPE_STUDIO_2005; 

2003 algorithm
CExtControlBar::g_eResizablePanelDockingType =
  CExtControlBar::__RESIZABLE_DOCKING_TYPE_STUDIO_2003; 

Algorithm corresponding to the paint manager that is currently used
CExtControlBar::g_eResizablePanelDockingType =
  CExtControlBar::__RESIZABLE_DOCKING_TYPE_BY_THEME; 

Juri Tsjornoi Nov 16, 2004 - 6:09 AM

Or to use VS 2005 interface but with caption bars from Office 2003 (VS 2005 caption bars aren’t such beautiful as in Ofiice 2003)? This variant would be better, than previous.

Technical Support Nov 16, 2004 - 8:12 AM

Dear Juri,

If you want to use the VS 2005 GUI theme and, at the same time, to have the captions of resizable control bars to be drawn like in the Office 2003 theme, create your own paint manager class like this:

class CMyPaintManagerStudio2005 : 
   public CExtPaintManagerStudio2005
{
public:
    virtual void PaintDockingCaptionButton(
        CDC & dc,
        CExtPaintManager::PAINTDOCKINGCAPTIONBUTTONDATA & _pdcbd
        )
    {
        CExtPaintManagerOffice2003::PaintDockingCaptionButton(
            dc,
            _pdcbd
            );
    }
    virtual void PaintDockingFrame(
        CDC & dc,
        CExtPaintManager::PAINTDOCKINGFRAMEDATA & _pdfd
        )
    {
        CExtPaintManagerOffice2003::PaintDockingFrame(
            dc,
            _pdfd
            );
    }
    virtual void PaintGripper(
        CDC & dc,
        CExtPaintManager::PAINTGRIPPERDATA & _pgd
        )
    {
        CExtPaintManagerOffice2003::PaintGripper(
            dc,
            _pgd
            );
    }
};

To install your paint manager class, use the following code:
g_PaintManager.InstallPaintManager(
   new CMyPaintManagerStudio2005
);