win7与winxp界面颜色显示不一致

xfxfxy 2012-09-14 09:04:02
在程序中有左右两个界面,其中右边的界面是网页嵌入的。现在的问题是,我的左边的界面颜色在XP与WIN7下不一致。而右边的界面只能是固定一种颜色。如何才能使左边的界面颜色在XP于WIN7下显示一致?
使用的vc2010.请帖方法及代码。
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kaile 2012-09-14
  • 打赏
  • 举报
回复
同样的控件,颜色确实会不一样


如果要强求一致,针对此类控件,重写所有代码,应该是唯一的解决办法
邓学彬 2012-09-14
  • 打赏
  • 举报
回复
在程序中获取系统默认背景颜色,然后设置右边网页的背景颜色.
相关API:GetSysColor






九月_leaf 2012-09-14
  • 打赏
  • 举报
回复
你可以在程序运行初判定操作系统。 用这个函数:
DWORD GetEnvironmentVariable(
LPCTSTR lpName, // address of environment variable name
LPTSTR lpBuffer, // address of buffer for variable value
DWORD nSize // size of buffer, in characters
);
可以得到环境变量。你可以用这个函数得到名字为"OS"的环境变量,然后就可以判断是什么系统了。 然后根据不同的操作系统类型,选择不同的界面风格就是了
傻X 2012-09-14
  • 打赏
  • 举报
回复
我记得以前用XML格式的Manifest保证风格一致的,
直接保存放在XXX.exe同层目录下,取名为XXX.exe.manifest
然后执行XXX.exe看看效果

<?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="Microsoft.Windows.dummy" type="win32" /> <description>Your app 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>

franzhong 2012-09-14
  • 打赏
  • 举报
回复
最终是调用底层显示,窗口都是操作系统的
如果想摆脱,就自已贴图方式绘出界面
hdg3707 2012-09-14
  • 打赏
  • 举报
回复
如果用得是控件,那颜色及风格和操作系统保持一致.除非你设定了控件的一些属性,比如颜色.除非你自绘控件才有可能做到在两个操作系统上显示一致的界面
罗平 2012-09-14
  • 打赏
  • 举报
回复
RGB相同,颜色应该是一致的。
xfxfxy 2012-09-14
  • 打赏
  • 举报
回复
问题已经将就解了。当右边选择IE页面的时候把左边的页面颜色给改成了右边一致的。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧