Re: Multi-Byte Application with XP Theme
- From: "Giovanni Dicanio" <giovanni.dicanio@xxxxxxxxxxx>
- Date: Thu, 6 Mar 2008 22:22:56 +0100
Hi AliR,
Same here!
I've just found this workaround:
1 - Remove the default embedded manifest; to do so, in the VS2008 IDE go
into :
Project Properties | Configuration Properties | Manifest Tool | Input and
Output
and set "Embed Manifest" to "No".
2 - Manually edit the manifest file, adding explicitly the dependency to
Common Controls v.6 of Windows XP.
To do that, add this XML node entry into manifest file:
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
This node must be put into the main root <assembly> node.
This is an example of complete manifest file:
---[ sample manifest ]---
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"
uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT"
version="9.0.21022.8" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugMFC"
version="9.0.21022.8" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
---[ end ] ---
(as you know, the manifest file is just an XML file, which you can edit with
a simple text editor).
Tha name of the manifest file is "YourApp.exe.manifest" (i.e.: your app full
name with .exe extension + ".manifest")
You must put the manifest in the same directory containing the exe.
This has worked for me (if you want, I can send you private email with .zip,
tomorrow [it's nighttime here]).
BTW: I don't understand why things that worked in VS2003 like this are now
broken in VS2008 and require manual hack... :(
I don't like that.
HTH,
Giovanni
"AliR (VC++ MVP)" <AliR@xxxxxxxxxxxxx> ha scritto nel messaggio
news:BzYzj.14845$0o7.10491@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Guys,
I have been searching the web for the solution to this problem but have
come up empty handed.
I'm writing a dialog based app in VS 2008, when I changed the project's
character set from Unicode to multi-byte I lost the XP theme. How can I
create a multi-byte application with XP Theme?
Thanks
AliR.
.
- References:
- Multi-Byte Application with XP Theme
- From: AliR \(VC++ MVP\)
- Multi-Byte Application with XP Theme
- Prev by Date: Re: Create a FormView/Dialog in runtime execution in VC 05
- Next by Date: Re: PostMessage and unprocessed messages
- Previous by thread: Multi-Byte Application with XP Theme
- Next by thread: Re: Multi-Byte Application with XP Theme
- Index(es):
Relevant Pages
|