我有一个使用Graph的GR6 SP6应用程序(GRAPH32.OCX)。只要Windows设置为经典主题,它就可以正常运行,但在任何其他模式下都会出现奇怪的缩放和剪裁,例如: Windows XP上的Windows XP主题或Windows 7上的Aero主题。
以下是它的样子:
我尝试了以下内容:
除了迁移到像MSChart这样的其他图表控件外,我怎么能解决这个问题?
答案 0 :(得分:0)
绘制图形的图形服务器(GSW32.exe)似乎也从其自己的进程中获取设置。禁用GSW32.exe的主题在WIndows XP上有所帮助。在Windows Vista和Windows 7上,还需要在自己的应用程序上禁用主题。后一种设置再次破坏了Windows XP,因此只需要在Vista和7上设置。
长文本,短篇小说:要通过安装程序进行此设置,您可以从以下InnoSetup命令派生。
;Disable themes on graphics server
Root: HKLM32; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{syswow64}\GSW32.exe"; ValueData: "DISABLETHEMES";
Root: HKLM64; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{syswow64}\GSW32.exe"; ValueData: "DISABLETHEMES"; Check: IsWin64;
;Disable themes on own application, needed on Windows 7 only, must not be enabled on XP or Vista
Root: HKLM32; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "DISABLETHEMES"; MinVersion: 6.1.7600
Root: HKLM64; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "DISABLETHEMES"; MinVersion: 6.1.7600; Check: IsWin64;