Foxtable(狐表)用户栏目专家坐堂 → [求助]屏幕分辨率问题,用自动调整方法提示:算法溢出!附程序及截图!


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

主题:[求助]屏幕分辨率问题,用自动调整方法提示:算法溢出!附程序及截图!

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
[求助]屏幕分辨率问题,用自动调整方法提示:算法溢出!附程序及截图!  发帖心情 Post By:2015/12/29 8:17:00 [只看该作者]

如题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/29 9:13:00 [只看该作者]

停靠窗口判断下

If e.Form.Visible = True Then

For Each c As Winform.Control In e.Form.Controls
    c.Left = c.Left * (e.Form.Width / vars("width"))
    c.Top = c.Top * (e.Form.Height / vars("height"))
    c.Width = c.Width * (e.Form.Width / vars("width"))
    c.Height = c.Height * (e.Form.Height / vars("height"))
Next
vars("width") = e.Form.width
vars("height") = e.Form.height

End If

控件太密集,按比例缩放后效果不是很好,建议还是固定大小好了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/29 9:22:00 [只看该作者]

If vars("width") <> Nothing Then
    For Each c As Winform.Control In e.Form.Controls
        c.Left = c.Left * (e.Form.Width / vars("width"))
        c.Top = c.Top * (e.Form.Height / vars("height"))
        c.Width = c.Width * (e.Form.Width / vars("width"))
        c.Height = c.Height * (e.Form.Height / vars("height"))
    Next
    vars("width") = e.Form.width
    vars("height") = e.Form.height
End If

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/12/29 10:32:00 [只看该作者]

但是经过测试,修改后的,代码,貌似就失去作用了,及时调整窗口大小,里面的控件也没跟着变化。

还有,判断下停靠窗口是否可用,如果可用再执行代码,原理是??百思不得解~

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/29 10:34:00 [只看该作者]

代码测试没问题。

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/12/29 10:37:00 [只看该作者]

哇~袍哥给的代码,刚看到,谢谢~~马上修改,么么哒~

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/12/29 10:47:00 [只看该作者]

虽然错误弹窗没了,但是.......如图:0.0

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/12/29 10:53:00 [只看该作者]

修改后与修改前的比较图
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/29 11:06:00 [只看该作者]

afterLoad事件,这样写一下

 

vars("width") = e.Form.width
vars("height") = e.Form.height
If vars("width") <> Nothing Then
    For Each c As Winform.Control In e.Form.Controls
        c.Left = c.Left * (e.Form.Width / vars("width"))
        c.Top = c.Top * (e.Form.Height / vars("height"))
        c.Width = c.Width * (e.Form.Width / vars("width"))
        c.Height = c.Height * (e.Form.Height / vars("height"))
    Next
End If


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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/12/29 11:20:00 [只看该作者]

1、sizechanged代码不变,重新启动程序,依然是上述问题。
2、删掉sizechanged里的代码,重启程序,一切正常,但是我仍想保留在调整窗口大小时,里面的空间跟着变的功能,也就是第一条,求袍哥指点。

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