Foxtable(狐表)用户栏目专家坐堂 → 窗口根据屏幕大小自动缩放


  共有12509人关注过本帖树形打印复制链接

主题:窗口根据屏幕大小自动缩放

帅哥哟,离线,有人找我吗?
ramen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
窗口根据屏幕大小自动缩放  发帖心情 Post By:2012/11/1 13:13:00 [只看该作者]

我想请问一下,我在大显示屏设计出来的窗体,在用小显示屏的电脑上打开,结果窗体的有些部分被遮住了,可不可以让它根据比例自动缩放大小呢?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/1 14:20:00 [只看该作者]

  下面的是通用的缩放代码。放到afterload中

For Each c As Winform.Control In e.Form.Controls
    c.Left = c.Left * (SysInfo.ScreenWidth / e.Form.Width)
    c.Top = c.Top * (SysInfo.ScreenHeight / e.Form.Height)
    c.Width = c.Width * (SysInfo.ScreenWidth / e.Form.Width)
    c.Height = c.Height * (SysInfo.ScreenHeight / e.Form.Height)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
  发帖心情 Post By:2012/11/2 7:56:00 [只看该作者]

我试了好几次,还是不太行,我试了用锚定和停靠,但是窗口还是看不全。

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/11/2 7:59:00 [只看该作者]

以下是引用ramen在2012-11-1 13:13:00的发言:
我想请问一下,我在大显示屏设计出来的窗体,在用小显示屏的电脑上打开,结果窗体的有些部分被遮住了,可不可以让它根据比例自动缩放大小呢?

我也遇到这样的烦恼。


 回到顶部
帅哥,在线噢!
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/2 8:10:00 [只看该作者]

在标准的分辨率下设计好窗口,调整好位置,善用锚定和停靠。

你office 和 foxtable,在任何分辨率下都可以正常使用


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/11/2 8:35:00 [只看该作者]

以下是引用狐狸爸爸在2012-11-2 8:10:00的发言:

在标准的分辨率下设计好窗口,调整好位置,善用锚定和停靠。

你office 和 foxtable,在任何分辨率下都可以正常使用

有时候一个控件会盖住另外一个控件的。


 回到顶部
帅哥,在线噢!
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/2 8:48:00 [只看该作者]

以下是引用lihe60在2012-11-2 8:35:00的发言:

有时候一个控件会盖住另外一个控件的。

 

举例说明?

如果有,也是锚定没有设置好,可以随时修正。


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/2 9:09:00 [只看该作者]

 把项目弄上来,窗口就行,我们帮你改。

 回到顶部
帅哥哟,离线,有人找我吗?
dingqiaoren
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:396 威望:0 精华:0 注册:2012/8/7 21:55:00
  发帖心情 Post By:2012/11/2 10:32:00 [只看该作者]

狐爸,这个问题其实论坛里面早就有人回答了,就一段代码,窗口就可以自适应任何屏幕大小,本来我复制了这段代码的,可是前两天我孩子把我的文本给删除了,于是想找那个帖子,结果在论坛上怎么也找不到,图片点击可在新窗口打开查看

 

那段代码确实无敌,我试过N次都没有问题,不知道论坛里面哪位大神可以提供?


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/2 11:04:00 [只看该作者]

以下是引用dingqiaoren在2012-11-2 10:32:00的发言:

狐爸,这个问题其实论坛里面早就有人回答了,就一段代码,窗口就可以自适应任何屏幕大小,本来我复制了这段代码的,可是前两天我孩子把我的文本给删除了,于是想找那个帖子,结果在论坛上怎么也找不到,图片点击可在新窗口打开查看

 

那段代码确实无敌,我试过N次都没有问题,不知道论坛里面哪位大神可以提供?


你是不是想找这个?

msgbox("显示器分辨率为:" & SysInfo.ScreenWidth & " * " & SysInfo.ScreenHeight)
msgbox("可用工作区大小:" & SysInfo.WorkingAreaWidth & " * " & SysInfo.WorkingAreaHeight)

e.Form.BaseForm.Width = SysInfo.ScreenWidth
e.Form.BaseForm.Height = SysInfo.ScreenHeight

---------------------------------------------------------

然后这样?

For Each c As Winform.Control In e.Form.Controls
    c.Left = c.Left * (SysInfo.ScreenWidth / e.Form.Width)
    c.Top = c.Top * (SysInfo.ScreenHeight / e.Form.Height)
    c.Width = c.Width * (SysInfo.ScreenWidth / e.Form.Width)
    c.Height = c.Height * (SysInfo.ScreenHeight / e.Form.Height)
Next

------------------------------------------------------------------------

建议还是用主窗口吧。然后,不要设置锚定……
[此贴子已经被作者于2012-11-2 11:04:10编辑过]

 回到顶部
总数 20 1 2 下一页