2021年12月18日 星期六

Custom Controls in Win32 API: Visual Styles Application Manifest assembly xmlns InitCommonControls comctl32.DLL

 https://www.codeproject.com/Articles/620045/Custom-Controls-in-Win-API-Visual-Styles

  https://docs.microsoft.com/en-us/answers/questions/199283/use-common-controls-v6-in-a-dll-compiled-using-vc6.html

https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests

https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/schema-root


Custom Controls in Win32 API: Visual Styles

https://www.codeproject.com/Articles/559385/Custom-Controls-in-Win-API-The-Basics
https://www.codeproject.com/Articles/617212/Custom-Controls-in-Win-API-The-Painting
https://www.codeproject.com/Articles/620045/Custom-Controls-in-Win-API-Visual-Styles

Application Manifest

1 RT_MANIFEST path/to/manifest.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="app name" type="win32"/>
    <description>app description</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
              version="6.0.0.0" processorArchitecture="*"
              publicKeyToken="6595b64144ccf1df" language="*"/>
        </dependentAssembly>
    </dependency>
    <ms_asmv2:trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <ms_asmv2:security>
            <ms_asmv2:requestedPrivileges>
                <ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false"/>
            </ms_asmv2:requestedPrivileges>
        </ms_asmv2:security>
    </ms_asmv2:trustInfo>
</assembly>
 

COMCTL32.DLL   UXTHEME.DLL        USER32.DLL 


Useless IsThemeActive() and IsAppThemed()

UXTHEME.DLL        USER32.DLL   
Function        Fundamental constant        Function        Fundamental constant   
GetThemeSysBool()        TMT_FLATMENUS        SystemParametersInfo()        SPI_GETFLATMENU   
GetThemeSysColor()                 GetSysColor()            
GetThemeSysColorBrush()                 GetSysColorBrush()            
GetThemeSysFont()        TMT_ICONTITLEFONT        SystemParametersInfo()        SPI_GETICONTITLELOGFONT   
the other ones        SPI_GETNONCLIENTMETRICS   
GetThemeSysInt()                 no counterpart            
GetThemeSysSize()                 GetSystemMetrics()            
GetThemeSysString()                 no counterpart

GetThemeBackgroundContentRect OpenThemeData GetWindowTheme GetThemeIntList _WIN32_WINNT_VISTA
Screenshot of Theme Explorer 


embarcadero Customizing the Windows Application Manifest File

Go Up to Types of Multi-Device Applications You Can Create

Go Up to Deploying Applications - Overview

    API (ApplicationName.manifest)

    Applications Options for Desktop Platforms

    MSDN: Application Manifests

    MSDN: Create and Embed an Application Manifest (UAC)

    Delphi Developers Guide 4K.pdf (Solving DPI problems, creating a custom manifest.)

沒有留言: