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 » Windows Vista Aero titlebar Collapse All
Subject Author Date
Bacsó Gergely Feb 2, 2007 - 2:19 PM

Hi,

I’ve just upgraded to vista and I did like the look of the Office2007 themes’ border and caption very much under XP.
I was very happy, that finally, the title bars have a consistent look with the inner areas of the windows.
With the Vista Basic theme I get the same nice result, but with the Aero theme the look of my application becomes very inconsistent, as it uses menu bar and toolbars, not the ribbon.

Is it possible somehow, to have the prof-uis drawn borders and title bars under the Aero DWM, not the glass?

(I’ve seen that Winamp and Windows Live Messenger still keep custom title bars. ...The prof-uis drawn title bars with a very little glassy effect would be even better, but it’s only an idea.)

Gergely Bacsó

Technical Support Feb 6, 2007 - 4:12 AM

The DWM provides a screen surface rendered in the background memory buffer. The non-client area handling is completely different when DWM is detected. It is strongly recommended not to ignore DWM as in the case of MS Office 2007 applications. Although it is possible to implement a custom non-client area when DWM is turned on but DWM seems not to be designed to support such UI programming technique. Everything works OK with the custom non-client under DWM until you need to implement maximize-able skinned windows. The skinned non-client area implementation requires the WS_CAPTION|WS_BORDER standard window styles to be removed in order to void standard [_][O][X] buttons appearing randomly over skinned non-client surface. But if you remove these window styles are, DWM works incorrectly when the skinned window is maximized.

You can add m_bNcFrameImpl_IsDwmBased = false; to the constructor of the CExtNCW-based class to see skinned non client window area when running under DWM and come to your own conclusions.


Bacsó Gergely Feb 9, 2007 - 11:36 AM

It almost works fine for me (the dialog boxes are awesome), and the main window works almost well, except that


  • An extra glass-border appears for a short period of time when the main window is initially shown. Is it possible to remove that?


  • I think the Aero DWM is not properly designed for windows with a very thin border, and I it seems to me, that’s the problem when the window is maximized. Maybe if the window could restore that initially shown glass border or some extra border for the time it is maximized, the skinning could work properly. Can I do something like that?


  • And one last problem when switching between UI themes: the glass caption is not restored for other themes, only the Vista Basic-style caption appears. I tried to set m_bNcFrameImpl_IsDwmBased back to true, but it didn’t work.


Gergely Bacsó

Technical Support Feb 22, 2007 - 8:48 AM

The DWM integration code was changed in Prof-UIS 2.64 released yesterday. The non-DWM captions should not be replaced with glass when running under DWM.

Bacsó Gergely Mar 3, 2007 - 9:27 AM

I’m still having the problem, that a glass border (only glass border, no glass caption) is shown around the main window for a short period of time when it is initially displayed. I couldn’t figure out even with Spy++ which message causes that border to disappear, or which method to use for that. It would be good to call that method before the main window is shown.

Could you tell me which method to use to disable the glass border?

Thanks,
Gergely Bacso

PS: Another problem is that when I call CExtControlBar::ProfileBarStateLoad to switch between different perspectives runtime, floating toolbars are docked for a half of a second during bar state load which gives kind of a flickering effect.

Technical Support Mar 5, 2007 - 12:32 PM

We failed to reproduce the reported problem using our sample applications. Please provide additional information:

1) Version of Windows Vista (is it x86 or x64)?

2) Visual C++ version and Service Pack.

3) If any Windows skinning software is installed?

It would be very helpful if you show us how to reproduce the problem using any of our sample applications or send us your project

Bacsó Gergely Mar 6, 2007 - 6:32 PM

I made a reduced project, downloadable from:
http://users.hszk.bme.hu/˜bg198/GlassBorder.zip

It’s CDHtmlDialog again...
If you comment out the creation of m_wndTaskAreaBar, it will work fine, but with the CDhtmlDialog it shows the glass border.

I "hope" it will have the same result when you test it, but if not: I use Vista x86, VC2005 SP1(+VistaSP1 Beta) and no skinning installed.

Best regards,
Gergely Bacso

Technical Support Mar 7, 2007 - 1:42 PM

We emailed you a modified version of your application.

Technical Support Feb 13, 2007 - 12:51 PM

We can provide you with an update that resolves the reported DMW issues not earlier than in two weeks

Bacsó Gergely Feb 16, 2007 - 9:20 AM

OK, thank You for being concerned with this problem,

Gergely Bacsó