工程项目中(非理论上的)如何完美解决屏幕分辨率自适应
--------------------------------------------------------------------------------
转载
http://www.study01job.com/pb/book/ PB论坛 PB文章库 PB资料下载 PB案例下载等等
需要从界面设计规范和程序编写两个方面入手:
1、界面采用和操作系统最接近的设计。主要包括:
1)字体采用宋体9号
2)命令按钮大小为352 X 92,两个汉字之间空两个格,不超过4格汉字时不空格,超过4个汉字适当扩大命令按钮尺寸。
3)如果命令按钮纵向排列,应该安排在右上角;如果横向排列,应该安排在右下角。这种布局可以照顾右手操作习惯的人,毕竟左撇子少
一些。
4)规划好哪些控件作为主控件,哪些控件作为附属控件。当窗口大小或者屏幕分辨率改变时,程序自动调整主控件的大小和位置,只调整
附属控件的相对位置。
某些程序员可能对上述规则不太习惯,认为字体太小。实际上,软件界面应该以用户的感觉为准,用户对他的操作系统设置是最适应的。上述
规则完全和操作系统的界面字体大小是一致的。所以,如果我们在1024X768分辨率下开发完程序,到800X600的计算机上也不至于按钮、字体大
小变形。
2、程序方面,在窗口的Resize事件中进行调整:
比如,以一个最简单的窗口为例,窗口中有一个数据窗口,窗口底部4个命令按钮分别用来增加、删除和保存数据,另外一个按钮用来关闭
窗口。命令按钮水平摆放,可以在窗口的resize事件中编写如下代码:
dw_1.X = 1
dw_1.Y = 1
dw_1.Width = NewWidth - 2
dw_1.Height = NewHeight - cb_close.Height - 12
cb_close.X = dw_1.X + dw_1.Width - cb_close.Width
cb_close.Y = dw_1.Y + dw_1.Height + 1
cb_save.X = cb_close.X - cb_save.Width - 20
cb_save.Y = cb_close.Y
cb_del.X = cb_save.X - cb_del.Width - 20
cb_del.Y = cb_close.Y
cb_add.X = cb_del.X - cb_add.Width
cb_add.Y = cb_close.Y
uo_1.X = dw_1.X + dw_1.Width - uo_1.Width - 2
uo_1.Y = cb_close.Y