对于运行于整个屏幕方式的程序,最重要的是能够正确识别和响应屏幕分辨率的改变。在vb程序中可以通过引用微软的SysInfo控件实现这一功能。
SysInfo控件提供了系统设置的信息,当系统设置更改时其能够激活响应事件。
为了使用这一控件,可以参见于“Microsoft SysInfo Control 6.0”,并将控件添加到窗体中。
WorkArea属性提供了有关屏幕分辨率的信息:
Debug.Print "Height : " & SysInfo1.WorkAreaHeight
Debug.Print "Width : " & SysInfo1.WorkAreaWidth
Debug.Print "Top : " & SysInfo1.WorkAreaTop
Debug.Print "Left : " & SysInfo1.WorkAreaLeft
为了能够捕捉屏幕分辨率的更改,在DisplayChanged事件中添加如下的代码。这一代码段改变了窗体以适合于可用的屏幕区域。
Private Sub SysInfo1_DisplayChanged()
Me.Move SysInfo1.WorkAreaLeft, SysInfo1.WorkAreaTop,
_
SysInfo1.WorkAreaWidth, SysInfo1.WorkAreaHeight
End Sub
SysInfo控件能够让你很容易地对屏幕分辨率的改变作出反应,它也提供了有关设备驱动程序改变,电源设置等方面的信息。