计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

让软件界面始终美丽如初(1)

2014-02-26 02:39
导读:计算机应用论文论文,让软件界面始终美丽如初(1)论文样本,在线游览或下载,科教论文网海量论文供你参考: ——窗口大小可变、对象比例不变 摘 要 针对软件界面因窗口
——窗口大小可变、对象比例不变 摘 要 针对软件界面因窗口大小的调整而出现的各类问题,本文提出了解决这类问题的技术、方法及有关的注意事项,并给出了用VB编写的范例程序。 关键词 软件界面;同比例缩放;实现技术;VB;对象变量1 引言 界面是软件的脸面!软件是否好用、能否被用户所接受,界面起着很重要的作用。然而,在我们所使用的各类软件中,常常出现软件界面因窗口大小的调整而发生变化,以至于出现捉襟见肘、比例失调甚至“献丑”的窘境;也正因如此,许多软件开发者又采用较为保守的设计思想,将软件界面设计成Fixed,禁止用户调整大小;还有一些软件在改变显示分辨率后出现界面不完整的现象,如Windows的显示属性对话框,当显示分辨率从1024×768调整到640×480时,无法看到界面底部的三个关键按钮:“确定”、“取消”和“应用”;除非重新启动计算机!这一切均给用户带来诸多不便,究其根源还在于开发者只重视了软件初始界面的设计,而对软件窗口缩放后所出现的缺陷或估计不足或缺乏对策。能否让软件界面的大小随用户的需求自由改变,而界面中的各个对象随窗口同缩放,做到软件界面始终美丽如初呢?为此,笔者进行了有益的探索,并在VB中得以实现。2 实现技术 为了保证软件界面始终如一、自适应各种窗口大小,必须做到窗口中的各个对象以及对象的字号、图像等属性随窗口同缩放。为此,在软件启动时首先要用全局数组将原始窗口的大小以及窗口中各个对象的大小、位置及字号等记录下来。然后在窗口的Resize事件中进行判断和调整:当窗口宽度改变时,窗口的放大率K=现窗口宽度÷原始窗口宽度,为保证窗口的比例不变,窗口的高度应调整到原始窗口高度的K倍;反之,当窗口高度改变时,窗口的放大率K=现窗口高度÷原始窗口高度,同样需将窗口的宽度调整到原始窗口宽度的K倍;如果窗口的宽高同时改变,则视为窗口的宽度改变即可。最后,为保证窗口中的各个对象同比例缩放,对象的大小(Width、Height属性)、位置(Left、Right属性)及字号(FontSize属性)也应在其原始值的基础上乘以K。 为了实现上述功能,用一个二维的全局数组记录每一个对象的Left、Top、Width、Height和FontSize属性,然后以对象变量和二维数组的行索引为参数定义两个通用过程GetData和SetData,前者用于获取对象的原始属性值,后者用于设置对象的新属性值。此外,还要注意以下几个问题: (1)软件启动时,如果窗口的宽度大于屏幕的宽度或窗口的高度大于屏幕的高度时,应使其与屏幕同宽或同高,以避免出现类似于Windows的显示属性对话框在分辨率变化时所出现的尴尬局面。 (2)一般应用软件的窗口在最大化时会以屏幕的尺寸为依据进行双向调整,这样就会破坏原有窗口的比例。如果想让窗口最大化但又不想破坏窗口的比例,那么在最大化按钮被单击时,首先使窗口的左上角与屏幕的左上角重合,然后使窗口的一边与屏幕同宽或同高,另一边则按比例放大;究竟要将哪一边调整到屏幕的尺寸要看窗口的宽高比值:若窗口偏宽(窗口宽高比>屏幕宽高比),那么应以屏幕宽度为准作为窗口的宽度,否则应以屏幕高度为准作为窗口的高度;这样可以保证比例不变,而窗口尽可能最大化。 (3)当窗口的高度被调整到非常小,甚至只剩标题栏的高度时,应以窗口的最小宽度(有最大化等按钮时,其值约为1700 Twip)为准调整窗口的高度。 (4)对于界面中所显示的图像,最好用图像控件Image作为对象,因为此类控件一般都有拉伸属性Stretch,只要将其设置成True后显示在其中的图像就会随图像框的伸缩而自动拉伸,始终呈现给用户的是一幅完整的图像。 3 范例程序3.1 界面设计 启动VB后在窗体中添加四个控件:一个图像框控件Img(先将拉伸属性Stretch设置成True,然后用Picture属性添加一幅图片)、一个标签控件Lab(将AutoSize属性设置成True,并设置好标题)、一个文本框控件Txt(将MultiLine属性设置成True,并设置好文本)和一个按钮控件Cmd(将标题改为“界面增幅10%”,单击此按钮时窗口及各个对象放大10%)。软件界面如图1所示。图1 软件界面对话框共2页: 1 [2] 下一页 论文出处(作者):
上一篇:OpenGL for Windows NT及其程序设计(1) 下一篇:没有了