非常类似于"项目|选项|应用程序|启用运行时主题"CheckBox,而是在运行时动态生成.
[Delphi XE目标Win XP或Win 7]
我试过玩uxTheme.SetWindowTheme到目前为止没有成功....
我们正在使用C++和Win32编写Windows桌面应用程序.我们的对话框外观丑陋,带有"Windows XP风格":静态文本的背景为灰色.对话框背景也是灰色的,这不是问题,但在选项卡控件中,背景为白色,文本的灰色背景非常明显.
在过去,我们已经做了很多自己的控件绘制,但是现在我们尽可能地使用标准的look'n'feel,并尽可能避免重写标准行为.
我们正在使用Win32 API,它有点过时,但我认为即使使用ATL也会出现问题.我们正在创建一个DIALOGTEMPLATE.该文本处于"静态"控制(0x0082).我们为样式设置的唯一标志是"SS_LEFT".文本控件位于选项卡控件内:"SysTabControl32"只有一个标志:WS_CLIPSIBLINGS设置在其上.我已经尝试过SS_WHITERECT和WS_EX_TRANSPARENT等设置,但无济于事.
所有这些都是使用标准的Windows对话框消息处理程序绘制的.我的主要问题是"我们做错了什么?" 而不是"我怎么能解决它?",虽然如果没有人可以帮我解决第一个问题,我会接受后者.
有任何想法吗?
如何在不添加XP主题的情况下为UAC添加清单?
我试过这个清单:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)
但XP主题仍然存在.
我尝试了很多其他清单,但是我收到了这个错误:
"无效的win32应用程序"
谢谢您的帮助
我有一个ATL应用程序,其中包含一个包含TAB控件的对话框.该应用程序使用通用控件清单.
在具有视觉样式的XP下,选项卡控件背景与对话框和控件(主要是复选框)的颜色不同,因此看起来非常难看.
我该如何解决这个问题?