XP Theme in deployed application

From Dolphin Map

Jump to: navigation, search
Image:Dsv5.png Dolphin Smallltalk 5 specific
Please note that this is not needed for appliactions deployed with Dolphin Smalltalk X6 anymore as Dolphin Smalltalk X6 application have an Embdedded XP Manifest

While developing your application within the IDE all controls are using the new XP Theme. But once you start you deployed application the XP Theme is gone.

This tutorial explains how to get the XP Theme back in deployed applications.

Contents

Background

Windows XP provides a new Common Controls Library (ComCtl32.dll version 6) which is able to render user interface elements in new "themes". As Interface Elements might have different sizes/ratios/properties when rendered with the new theme old applications are not using new themes by default.

For an application to use the new controls it must tell the operating system to do so. This is done using a so called "Manifest". There are two ways for providing this manifest:

  • Embedded resource in the executable
  • External file

Dolphin Smalltalk 5 does not provide the builtin tools to add such a manifest as resource. So our way to go is to use an external file.

Dolphin Smalltalk 6 does includes the manifest file allready. There is no need to add it manually.

Manifest files

Manifest files are XML files telling windows about the application and it's capabilities (in regards to Common Controls):

<?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="X86"
    name="CompanyName.ProductName.YourApplication"
    type="win32"
  />
  <description>Your application description here.</description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="X86"
        publicKeyToken="6595b64144ccf1df"
        language="*"
      />
    </dependentAssembly>
  </dependency>
</assembly>

Creating a Manifest File

So the questions remains ... "where do I get such a manifest file?". The answer is simple: From your Dolphin directory.

Your Dolphin directory contains a file called Dolphin.exe.manifest. Open this file in your preferred editor and change the name and version to match your application. Save this file to the same directory as your executable as YourApplication.exe.manifest.

If you start your application again it should apear in the new XP Theme.

References

Personal tools