设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6319|回复: 5
打印 上一主题 下一主题

[已经过期] 修改系统分辨率问题

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

跳转到指定楼层
1
发表于 2010-9-15 21:53:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
2
发表于 2010-9-16 06:18:55 | 只看该作者
全屏正是通过 ChangeDisplaySettings 实现的,我在 XP 里试了一下貌似没这个问题,能把有问题的代码发出来瞅瞅么
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

3
 楼主| 发表于 2010-9-17 20:27:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
4
发表于 2010-9-18 07:08:18 | 只看该作者
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 的一点……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

5
 楼主| 发表于 2010-9-18 19:43:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
6
发表于 2010-9-19 01:48:23 | 只看该作者
试了一下,用 exe 直接改分辨率也有这个问题诶,看看你的代码(难道改了注册表)?
话说脚本里指定的显示模式不一定是显卡驱动支持的,还是用 EnumDisplaySettings 枚举一下比较好,再加一个异常提示的功能(“您的系统不支持***X***的分辨率)

点评

那比较诡异,我测试时在 RM 运行途中外部程序改分辨率 Graphics 依旧瘫痪..  发表于 2010-9-23 20:38
就是ChangeDisplaySettings(lpDevMode,0x01)啦!直接调用现成的exe改分辨率工具.忽然发现显示属性里改应该也同理...  发表于 2010-9-23 16:42
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 12:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表