社区
VFP
帖子详情
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?在线等
wanglei1981
2004-09-22 03:13:22
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?谢谢
...全文
88
5
打赏
收藏
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?在线等
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanglei1981
2004-09-22
打赏
举报
回复
谢谢两位,已经解决了
接分
十豆三
2004-09-22
打赏
举报
回复
你把以下代码写入你的Form的Init事件中
*********************************
LOCAL lnHeight, lnWidth, lnHeightdiff, lnWidthdiff
lnHeight = 480 && 原分辩率下的控件高度
lnWidth = 640 && 原分辩率下的控件宽度
lnHeightdiff = 0 && 保存不同高度的变量
lnWidthdiff = 0 && 保存不同宽度的变量
IF SYSMETRIC(2) <> lnHeight && 如果目前不是运行于 640x480 分辩率下
lnHeightDiff = SYSMETRIC(2) / lnHeight
lnWidthDiff = SYSMETRIC(1) / lnWidth
This.Height = This.Height * lnHeightDiff
This.Width = This.Width * lnWidthDiff
This.Top = This.Top * lnHeightDiff
This.Left = This.Left * lnHeightDiff
FOR I = 1 TO This.ControlCount
WITH This.Controls(i)
.Height = .Height * lnHeightdiff
.Width = .Width * lnWidthdiff
.Top = .Top * lnHeightdiff
.Left = .Left * lnWidthdiff
IF TYPE(".FontSize") # "U"
&& IF 用于确保控件具有 FontSize 属性
.FontSize = .FontSize * ((.5 * lnWidthdiff) + (.5 * lnHeightdiff))
ENDIF
ENDWITH
ENDFOR
ENDIF
ThisForm.Refresh()
wanglei1981
2004-09-22
打赏
举报
回复
我想根据窗口大小来调节比例,应该怎么办?
十豆三
2004-09-22
打赏
举报
回复
如何创建一个根据屏幕分辩率自动调整的表单
概述
在一种分辩率下开发的屏幕在另一种分辩率下运行时, 可能与你期望的不同. 一种方案是开发不同分辩率下的多个不同的屏幕, 并在某一分辩率下运行相应的屏幕.
但是在 Visual FoxPro 中, 可以根据当前分辩率动态调整屏幕大小并重新安排对象. 本文用例子演示了如何这样做.
更多信息
逐步示例
在 640x480 分辩率下创建一个新表单. 添加一些文本框, 命令按钮和标签这样的控件到表单.
将以下代码放入表单的 Init 事件中和表单中的任何窗口任何容器对象(如页框中的页)的 Init 事件中:
** 假定屏幕是在 640x480 下创建的
LOCAL lnHeight, lnWidth, lnHeightdiff, lnWidthdiff
lnHeight = 480 && 原分辩率下的控件高度
lnWidth = 640 && 原分辩率下的控件宽度
lnHeightdiff = 0 && 保存不同高度的变量
lnWidthdiff = 0 && 保存不同宽度的变量
IF SYSMETRIC(2) <> lnHeight && 如果目前不是运行于 640x480 分辩率下
lnHeightDiff = SYSMETRIC(2) / lnHeight
lnWidthDiff = SYSMETRIC(1) / lnWidth
** 如果是在容器对象(如页框中的页等非表单且具有 ControlsCount 属性的容器)的 Init 事件中, 你需要注
** 释掉以下代码直到 ENDIF 代码行.
This.Height = This.Height * lnHeightDiff
This.Width = This.Width * lnWidthDiff
This.Top = This.Top * lnHeightDiff
This.Left = This.Left * lnHeightDiff
** 遍历各对象, 重新调整和安排它们.
FOR I = 1 TO This.ControlCount
WITH This.Controls(i)
.Height = .Height * lnHeightdiff
.Width = .Width * lnWidthdiff
.Top = .Top * lnHeightdiff
.Left = .Left * lnWidthdiff
** 你也可以在这里修改 FontSize 属性来重调字体
** IF TYPE(".FontSize") # "U"
** && IF 用于确保控件具有 FontSize 属性
** .FontSize = .FontSize * ((.5 * lnWidthdiff) + (.5 * lnHeightdiff))
** ENDIF
** 但是, 一些较高的屏幕分辩率会适当地修改字体外观, 因此在试以上代码前应进行测试.
ENDWITH
ENDFOR
ENDIF
ThisForm.Refresh()
在表同分辩率下运行表单. 可以观察到它们的自动适应
JohnShen
2004-09-22
打赏
举报
回复
参见:
http://community.csdn.net/Expert/topic/3198/3198405.xml?temp=.4384424
请问如何使表单能够自动适应屏幕的分辨率?
软件界面设计工具_3款合集
这样,设计者在调整
控件
大小或者位置时(包括
控件
与
控件
,
控件
与
窗体
边缘等的距离等情况),工作
变得
很简单。 图六、使用UIDesigner制作原型—自动对齐功能 第三步:几分钟后,所有的
控件
都放到
窗体
并设置好...
200个经典C#WinForm实例源码.rar
C# WinForm提供了丰富的
控件
库,如按钮(Button)、文本框(TextBox)、列表框(ListBox)、菜单Strip(MenuStrip)等,这些
控件
使得用户界面的构建
变得
直观。实例中涵盖了这些常用
控件
的使用,包括
控件
的创建、布局、事件...
C# form切换特效
ClayUI是一个专门用于Windows Forms开发的UI库,它为开发者提供了一套强大的
控件
和工具,使得在C#中创建美观且功能丰富的用户界面
变得
更加容易。ClayUI.dll和clayui_forcsharp.dll是该库的相关动态链接库文件,它们...
c随
窗口
大小改动等
比例
缩放页面所有
控件
:让应用程序界面自适应
c随
窗口
大小改动等
比例
缩放页面所有
控件
:让应用程序界面自适应 去发现同类优质开源项目:https://gitcode.com/ 在当今多变的软件应用场景中,用户界面(UI)的自适应设计
变得
越来越重要。本文将为您介绍一个开源项目...
C#
控件
随着
窗体
放大
/根据
窗体
缩放的
比例
确定
控件
的值。//遍历
窗体
中的
控件
,重新设置
控件
的值。
VFP
2,748
社区成员
29,140
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章