Yes you are right :-D I have confirmed that it is the drawing part of OnNcPaint that is stopping the visual style. Since I do my drawing after the default window processing completes, Windows must work out that I will be calling DrawFrameControl in the future and then render using the old Windows 2000 style. I think all I have to do now is replace DrawFrameControl with some theme based drawing when running on XP. I have just added to code to load the uxtheme.dll library and get pointers to theme functions I need to call. I think I just need to do the following with appropriate parameters to draw my icon... if (uxthemeloaded) { pOpenThemeData(...); pGetThemeBackgroundContentRect(...); if (pIsThemeBackgroundPartiallyTransparent(...)) { pDrawThemeParentBackground(...); } pDrawThemeBackground(...); pCloseThemeData(...); }