为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VB5¸0 设计适应显示属性的界面

2017-12-06 4页 doc 16KB 14阅读

用户头像

is_353097

暂无简介

举报
VB5¸0 设计适应显示属性的界面VB5¸0 设计适应显示属性的界面 VB5.0 设计适应显示属性的界面 在设计一般应用软件时,总希望设计的软件, 无论显示器分辨率设置是40X480, 800X600还是1024X768,无论显示器设置是在大字体还是小字体软件都能正常运行,并且有美 观一致的界面。本人在用VB5.0设计《英语集成训练系统V2.0》时,亦遇到这样的麻烦。 下面解释克服这一问题的方法。 一: 使 界 面 居 中 为 了 使 界 面 元 素 能 在 各 种 显 示 分 辨 率 下 均 有 合 理 的 布 局, 一 种 方 法 就 是 获 取 ...
VB5¸0 设计适应显示属性的界面
VB5¸0 设计适应显示属性的界面 VB5.0 设计适应显示属性的界面 在设计一般应用软件时,总希望设计的软件, 无论显示器分辨率设置是40X480, 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 上 述 程 序 中 仅 列 举 了 几 个 典 型 的 控 件, 如 果 窗 体 中 还 有 其 它 类 型 的 控 件, 仿 造 上 述 程 序 加 入 对 这 些 控 件 类 型 的 处 理 即 可 [来源:programfan.com(编程爱好者)][选取:kjkimberly]
/
本文档为【VB5¸0 设计适应显示属性的界面】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索