社区
VB基础类
帖子详情
分辨率问题
yhwang2003
2003-12-21 03:48:27
问题描述:
我在800*600的分辨率下用vb开发的一个软件.但当在分辨率1024*768下打开时窗体靠只在上角显示,靠右下方是空白.
我想问,用什么办法能让窗体随分辨率的变化,而不影响显示.
谢谢各位高手!!!
...全文
37
4
打赏
收藏
分辨率问题
问题描述: 我在800*600的分辨率下用vb开发的一个软件.但当在分辨率1024*768下打开时窗体靠只在上角显示,靠右下方是空白. 我想问,用什么办法能让窗体随分辨率的变化,而不影响显示. 谢谢各位高手!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taosihai1only
2003-12-21
打赏
举报
回复
跟着rainstormmaster学习
rainstormmaster
2003-12-21
打赏
举报
回复
VB5.0 设计适应显示属性的界面
在 设 计 一 般 应 用 软 件 时, 总 希 望 设 计 的 软 件, 无 论 显 示 器 分 辨 率 设 置 是640X480, 800X600 还 是1024X768, 无 论 显 示 器 设 置 是 在 大 字 体 还 是 小 字 体 软 件 都 能 正 常 运 行, 并 且 有 美 观 一 致 的 界 面。 本 人 在 用VB5.0 设 计《英 语 集 成 训 练 系 统V2.0》时, 亦 遇 到 这 样 的 麻 烦。 下 面 解 释 克 服 这 一 问 题 的 方 法。
一: 使 界 面 居 中
为 了 使 界 面 元 素 能 在 各 种 显 示 分 辨 率 下 均 有 合 理 的 布 局, 一 种 方 法 就 是 获 取 当 前 显 示 分 辨 率, 然 后 根 据 这 一 分 辨 率 计 算 界 面 各 元 素 的 位 置 和 大 小, 并 进 行 设 置。 这 种 方 法 虽 然 能 解 决 界 面 元 素 布 局 问 题, 但 需 要 知 道 每 个 元 素 的 位 置 和 大 小, 程 序 烦 琐。
我 这 里 采 用 的 方 法 是: 首 先 设 计 一 个 具 有 极 大 化, 无 边 界, 无 标 题, 无 控 制 盒 的 窗 体, 然 后 在 其 上 放 置 一 个 容 器 控 件Picture, 在Picture 中 再 放 置 其 它 控 件。 在 窗 体Load 事 件 中 根 据 当 前 的 显 示 分 辨 率 居 中Picture, 从 而 实 现 了 居 中 整 个 界 面。 具 体 代 码 如 下:
Private Sub Form_Load()
Call CenterControl(Picture1)
End Sub
Public Sub CenterControl(obj As Object)
Dim cx, cy As Single
cx =(Screen.Width/Screen.
TwipsPerPixelX-obj.Width)/2#
cy =(Screen.Height/Screen.
TwipsPerPixelY-obj.Height)/2#
obj.Left = cx
obj.Top = cy
End Sub
二: 使 界 面 适 应 大 字 体 与 小 字 体
Win95 在 创 建 控 件 时, 会 根 据 当 前 显 示 属 性 为 大 字 体 或 小 字 体 来 作 相 应 调 整。 尽 管 应 用 程 序 传 送 的 参 数( 控 件 位 置 和 尺 寸) 是 一 致 的, 但 实 际 控 件 的 位 置 和 尺 寸 在 这 两 种 情 形 下 并 不 一 样。 如 果 应 用 程 序 仅 仅 考 虑 一 般 小 字 体 的 情 况, 在 大 字 体 下 界 面 则 十 分 难 看 混 乱, 甚 至 无 法 操 作。 为 解 决 这 一 问 题, 首 先 应 了 解 当 前 显 示 器 设 置, 这 可 通 过 系 统 注 册 表 来 获 取。 下 面 的 程 序 采 用 了 另 一 种 方 法: 首 先 在 一 个 映 射 模 式 为Pixel 的 窗 体 中 放 置 一 个 控 件, 在 显 示 属 性 为 小 字 体 的 设 计 环 境 下 首 先 看 一 下 控 件 的 初 始 位 置x,y, 然 后 在 窗 体 的Load 事 件 中 计 算 出X 和Y 方 向 的 放 大 比 例xFac,yFac:
Private Sub Form_Load()
xFac = 400# / mmlhwnd.Left
yFac = 400# / mmlhwnd.Top
End Sub
其 中,mmllhwnd 为 放 置 在 窗 体 中 的 控 件, 初 始 的 坐 标 为400,400。
最 后 在 各 个 需 要 调 整 界 面 的 窗 体Load 事 件 中 调 用 下 列 子 程 序, 调 整 各 控 件 的 位 置 与 大 小:
Public Sub CorrectForm(fm As Form)
Dim C As Control
For Each C In fm.Controls
If TypeOf C Is Timer Then
ElseIf TypeOf C Is CommonDialog Then
ElseIf TypeOf C Is Line Then
C.X1 = C.X1 * xFac
C.Y1 = C.Y1 * yFac
C.X2 = C.X2 * xFac
C.Y2 = C.Y2 * yFac
Else
C.Left = C.Left * xFac
C.Top = C.Top * yFac
If TypeOf C Is SSCommand Then
C.Width = C.Width * xFac
C.Height = C.Height * yFac
C.FontSize = C.FontSize * xFac
ElseIf TypeOf C Is CommandButton Then
C.Width = C.Width * xFac
C.Height = C.Height * yFac
C.FontSize = C.FontSize * xFac
ElseIf TypeOf C Is ListBox Then
C.Width = C.Width * xFac
C.Height = C.Height * yFac
C.FontSize = C.FontSize * xFac
ElseIf TypeOf C Is ComboBox Then
C.Width = C.Width * xFac
C.FontSize = C.FontSize * xFac
End If
End If
Next C
End Sub
上 述 程 序 中 仅 列 举 了 几 个 典 型 的 控 件, 如 果 窗 体 中 还 有 其 它 类 型 的 控 件, 仿 造 上 述 程 序 加 入 对 这 些 控 件 类 型 的 处 理 即 可
yhwang2003
2003-12-21
打赏
举报
回复
那窗体上的控件怎样调整呢
online
2003-12-21
打赏
举报
回复
1.找相关的resize控件
2.自己在form_resize事件中写
切换器改变Linux
分辨率
,KVM切换器屏幕
分辨率
问题
问题
描述:通过KVM切换器连接到显示器的笔记本电脑具有正确的屏幕
分辨率
,而连接到相同KVM切换器的其他具有完全相同配置的笔记本电脑的
分辨率
非常低。我曾尝试切换端口/电缆/重新启动/连接和从KVM切换器断开屏幕的各种组合,但同样的
问题
一直存在。KVM切换器屏幕
分辨率
问题
我有一台Dell SX2210b显示器。我买了易趣KVM切换器:我的两个办公室的笔记本电脑是戴尔和具有Windows 7的下面是配置...
unity3D android游戏屏幕
分辨率
问题
android手机屏幕
分辨率
五花八门,导致开发时不好把握,还好各个引擎对这个屏幕
分辨率
问题
都有较好的处理方式;unity3D 也为我们提供了一个不错的解决方案。 在Unity3D 进行 android 游戏开发时,对于不同
分辨率
下的显示效果就像是摄像机的自动平移了一般,看了不少游戏,对于 Unity3D 开发 android 游戏貌似都没有做相应的屏幕
分辨率
的处理,而是随摄像机的自动移动,把场景
VNC Viewer 设置屏幕
分辨率
-解决屏幕
分辨率
问题
VNC Viewer 设置屏幕
分辨率
-解决屏幕
分辨率
问题
安装Ubuntu双系统遇到
分辨率
问题
安装Ubuntu双系统遇到
分辨率
问题
Surface Pro 远程桌面
分辨率
问题
Surface Pro 远程桌面
分辨率
问题
Surface Pro 的
分辨率
非常高,如果用Surface Pro 远程桌面到远端的一台机器,因为两边
分辨率
的
问题
,远端的图像会非常的小。 为解决这个
问题
,需要做一下两个工作: 修改注册表: 用regedit编辑注册表,找到: HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows ...
VB基础类
7,785
社区成员
197,585
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章