diff --git a/docs/doxygen/mainpages/const_wxusedef.h b/docs/doxygen/mainpages/const_wxusedef.h index 7749423c4b..e2feb94898 100644 --- a/docs/doxygen/mainpages/const_wxusedef.h +++ b/docs/doxygen/mainpages/const_wxusedef.h @@ -314,7 +314,8 @@ library: @itemdef{wxUSE_DC_CACHEING, cache temporary wxDC objects.} @itemdef{wxUSE_DDE_FOR_IPC, See wx/ipc.h file.} @itemdef{wxUSE_DPI_AWARE_MANIFEST, Set the DPI awareness of the application -(0=none, 1=system, 2=per-monitor). Used by CMake and when wxUSE_RC_MANIFEST is enabled.} +(0=none, 1=system, 2=per-monitor). Used by CMake and can be predefined before +including @c wx/msw/wx.rc.} @itemdef{wxUSE_ENH_METAFILE, Use wxEnhMetaFile.} @itemdef{wxUSE_HOTKEY, Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey} @itemdef{wxUSE_INKEDIT, Use InkEdit library. Related to Tablet PCs.} @@ -327,7 +328,7 @@ manifest from wxWidgets RC file. See also wxUSE_RC_MANIFEST.} @itemdef{wxUSE_PS_PRINTING, See src/msw/dcprint.cpp file.} @itemdef{wxUSE_RC_MANIFEST, Include manifest for common controls library v6 from wxWidgets RC file. This is disabled by default for MSVC but enabled for -the other compilers. See also wxUSE_NO_MANIFEST.} +the other compilers. See also wxUSE_NO_MANIFEST and wxUSE_DPI_AWARE_MANIFEST.} @itemdef{wxUSE_REGKEY, Use wxRegKey class.} @itemdef{wxUSE_RICHEDIT, Enable use of riched32.dll in wxTextCtrl} @itemdef{wxUSE_RICHEDIT2, Enable use of riched20.dll in wxTextCtrl} diff --git a/include/wx/msw/wx.rc b/include/wx/msw/wx.rc index cae328fd31..a23300f52b 100644 --- a/include/wx/msw/wx.rc +++ b/include/wx/msw/wx.rc @@ -91,11 +91,19 @@ wxBITMAP_STD_COLOURS BITMAP "wx/msw/colours.bmp" // Include manifest file for common controls library v6 required to use themes. // // Predefining wxUSE_NO_MANIFEST as 1 always disables the use of the manifest. -// Otherwise we include it only if wxUSE_RC_MANIFEST is defined as 1. +// Otherwise we include it either if wxUSE_RC_MANIFEST is defined as 1 or if +// wxUSE_DPI_AWARE_MANIFEST is defined. // #if !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0) +#ifdef wxUSE_DPI_AWARE_MANIFEST + // Defining wxUSE_DPI_AWARE_MANIFEST overrides wxUSE_RC_MANIFEST, as it + // makes no sense to define the former just for it to be ignored. + #undef wxUSE_RC_MANIFEST + #define wxUSE_RC_MANIFEST 1 +#endif + #if defined(wxUSE_RC_MANIFEST) && wxUSE_RC_MANIFEST // see "about isolated applications" topic in MSDN