Windows系统的多显示器模式的编程.doc

Windows系统的多显示器模式的编程.doc

ID:52199613

大小:45.50 KB

页数:8页

时间:2020-03-24

Windows系统的多显示器模式的编程.doc_第1页
Windows系统的多显示器模式的编程.doc_第2页
Windows系统的多显示器模式的编程.doc_第3页
Windows系统的多显示器模式的编程.doc_第4页
Windows系统的多显示器模式的编程.doc_第5页
资源描述:

《Windows系统的多显示器模式的编程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Windows系统的多显示器模式的编程这几天研究了一下Windows系统的多显示器模式的编程,实现了Windows下支持10显示器模式的通用com组件,这里做一个整理和回顾,希望能对再这方面开发的兄弟们有些启发和帮助: (一) Windows系统下的多显示器模式的原理     Microsoft新的操作系统(Windows 98\Windows 2000\Windows XP)内置了对多监视器的支持,即用户可以在一台计算机上安装多个显示卡并接上多个显示器,然后把这些显示器的显示区域组织成一个大的虚拟的Windows桌面。每一个显示区域的底部都有系统任务栏,我们可以在任何一个显示区域内增加

2、桌面快捷方式,这样就可以在第一个显示区域上用Visual C++编程,同时在第二个显示区域上打开Internet Explorer上网——再也不用进行麻烦的切换了。    多显示器模式的原理实际上很简单,主要还是要靠操作系统的支持,比如WinXP就支持10个显示器,本文所使用的调试和开发环境都是以WinXP为主,其余的原理都相同慢慢调试就行了.Windows提供的多显示器模式主要有以下三个功能:   1.更大的Windows桌面:在多显示器模式下,可以把多个显示器的显示区域结合在一起来显示Windows桌面,不管这些显示器的尺寸、物理位置、分辨率和刷新频率是否相同。当我们运行一个应用程序时,

3、程序的主窗口可以位于任何一个显示器的显示区域内,也可以跨多个显示区域。我们也可以把一个程序的窗口从一个显示区域移到另一个显示区域中。  2. 屏幕复制或远程显示:我们可以让两个显示器显示相同的内容。在进行培训或者向众人进行演示时,这个特点是很有用的。利用这个特性,技术支持人员还可以对应用程序进行远程监视和调试。  3.多重独立显示:在以上的两种模式下,所有的显示区域都是Windows虚拟桌面的一部分,但是在多重独立显示模式下,应用程序访问的显示器并不属于Windows虚拟桌面。假设系统的第二个显示器是一个高分辨率的大尺寸显示器,我们可以把它用做CAD应用程序的专用显示。通过在CAD应用程序中

4、调用新的Windows API,我们可以借助GDI在上面画图。独立显示器的显示区域没有桌面上的任何对象(任务栏和快捷方式),它与Windows桌面是独立的。这可以避免Windows桌面对应用程序输出的任何干扰,我们也不用担心会在无意中把其它的窗口拽到独立显示的显示区域中,这种方式就好像为应用程序提供了一个专用的显示器。(二)理解虚拟桌面(Virtual Desktop)及其坐标既然是要对多显示器模式进行编程和开发,那么我们就要首先理解Windows的虚拟桌面(Virtual Desktop)及其坐标了.这是我们编程开发的基础,理解了一切就很顺利了,几乎没有什么难度.  在单显示器系统中,实际

5、Windows桌面的形状和大小与显示器是相同的。在多显示器模式下,每一个显示器实际上是一个大虚拟桌面的一个“子视窗”。  我们可以通过控制面板中的显示器属性对每一个显示器的显示区域的大小(分辨率)和相对位置进行调整,所有这些显示区域互相连接但并不重叠。图一中的显示器1是主显示器,主显示器的作用是确定虚拟桌面的坐标。不管主显示器的位置如何,它的显示区域的左上角的坐标定为虚拟坐标的零点(0,0),右下角的坐标是(X-1,Y-1)(假设主显示器的分辨率为X×Y),其余显示区域的坐标由它和主显示器的相对位置决定。通常虚拟桌面中显示区域的相对位置和实际显示器的物理相对位置是相同的。因为所有显示区域必须

6、相连,因此可以用一个包含所有显示区域的最小矩形来表示虚拟桌面的大小。图一中的矩形边界代表了虚拟桌面的范围。[Page]  因为虚拟桌面中的坐标系统必须是连续的,因此第二个显示区域的坐标是主显示器的显示区域的继续。假设两个显示器都使用1024×768的分辨率,并且第二个显示器位于第一个显示器(主显示器)的正右方,则第二个显示区域的坐标是从(1024,0)到(2047,767)。  但是并不是所有的显示区域都具有相同的分辨率,而且这些显示区域也不一定是底边对齐的。就像图一中显示的那样,你真正能看到的有效显示区域是红色+兰色+紫色的不规则区域,而黄色区域虽然也属于虚拟桌面的一部分,但它不属于任何一

7、个显示区域,这部分也叫做无效区域。如图一中所示,假设显示器1的分辨率是1024×768,显示器2的分辨率为800×600,显示器3的分辨率为640×480。零点的位置如图中所示,显示器1的坐标为(0,0)到(1023,767),显示器2的坐标为(-800,168)到(-1,767),显示器3的坐标是(1024,0)到(1663,479)。而(-800,0)到(-1,167)以及(1024,480)到(1663

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。