Project1

标题: 修改系统分辨率问题 [打印本页]

作者: 沉影不器    时间: 2010-9-15 21:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2010-9-16 06:18
全屏正是通过 ChangeDisplaySettings 实现的,我在 XP 里试了一下貌似没这个问题,能把有问题的代码发出来瞅瞅么
作者: 沉影不器    时间: 2010-9-17 20:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2010-9-18 07:08
ChangeDisplaySettings + 焦点判断是全屏的标准做法,6R 上的全屏脚本我没有看过 o.o

……|| 忍受着等待 10 秒开始执行脚本的痛苦,还是重新打开了 VX……

试了一下,我这里的现象是在特定的场合下画面才更新,如过渡执行完时
改了分辨率后加上:
  1. Graphics.resize_screen(Graphics.width-1, Graphics.height)
  2. Graphics.resize_screen(Graphics.width, Graphics.height)
复制代码
似乎就可以了
通过这个大致上能猜到是怎么回事,VX 在更新包含非客户区的窗口大小时做了一些不该做的假设,比如记录当前的分辨率,而画面更新时的代码又和这个记录的分辨率有关。也可能和 VX 拉伸客户区位图的具体算法有关
XP 就没有这个问题,看来这又是 VX 在兼容不如 XP 的一点……
作者: 沉影不器    时间: 2010-9-18 19:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2010-9-19 01:48
试了一下,用 exe 直接改分辨率也有这个问题诶,看看你的代码(难道改了注册表)?
话说脚本里指定的显示模式不一定是显卡驱动支持的,还是用 EnumDisplaySettings 枚举一下比较好,再加一个异常提示的功能(“您的系统不支持***X***的分辨率)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1