社区
VFP
帖子详情
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?在线等
wanglei1981
2004-09-22 03:13:22
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?谢谢
...全文
75
5
打赏
收藏
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?在线等
各位,有没有让窗体内各控件,跟着窗口按比例变得好办法?谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
请问如何使表单能够自动适应屏幕的分辨率?
VC中对话框
窗体
背景透明而
控件
不透明
- 对话框背景透明后,对话框上的
控件
默认也会
变得
透明。为避免这种情况,我们需要对每个
控件
进行处理,确保它们保持不透明。这可以通过重载
控件
的 WM_PAINT 消息来实现。在
控件
的 CWnd 派生类中覆盖 OnPaint 函数,...
软件界面设计工具_3款合集
这样,设计者在调整
控件
大小或者位置时(包括
控件
与
控件
,
控件
与
窗体
边缘等的距离等情况),工作
变得
很简单。 图六、使用UIDesigner制作原型—自动对齐功能 第三步:几分钟后,所有的
控件
都放到
窗体
并设置好...
C#简单
窗体
聊天程序(没有服务端,只有客户端)
在本文中,我们将深入探讨如何使用C#语言创建一个简单的基于
窗体
的聊天程序,该程序没有服务端,仅...在实际开发中,你可以进一步扩展这个程序,增加身份验证、加密通信、多用户支持等功能,使其
变得
更加完整和安全。
200个经典C#WinForm实例源码.rar
C# WinForm提供了丰富的
控件
库,如按钮(Button)、文本框(TextBox)、列表框(ListBox)、菜单Strip(MenuStrip)等,这些
控件
使得用户界面的构建
变得
直观。实例中涵盖了这些常用
控件
的使用,包括
控件
的创建、布局、事件...
c#Winform异步线程刷新UI
VS2013支持.net框架4.0,该版本引入了Task类和异步编程模型,使得处理这种需求
变得
更加便捷。本文将详细探讨如何在WinForm应用中使用异步线程来刷新UI,并实时反馈任务进度。 首先,让我们了解什么是异步编程。异步...
VFP
2,748
社区成员
29,138
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章