对多屏卡进行编程与在一个单屏上编程没有大的区别,只是可访问的地址更大一些,另一点就是一定要按地址准确地访问,避免一幅图片被两个屏幕分割开来。下面是一个利用多屏卡进行编程的小例子,用delphi实现。在这个例子中,用到两个显示屏,以2×1排列,这样第一屏幕的地址为(0,0,768,1024),而第二个屏的地址为(0,1024,768,2048)。在这个例子中,第一个屏幕为控制界面,第二个屏幕为显示界面。在第一个屏幕可以打开一个图片,然后在第二个屏幕显示这个图片,也可以采用百叶窗的方式将第二个屏幕上原有的图片切换为第一屏中的图片。 首先创建一个工程,在form1上添加一个tpanel控件(panel1),panel1上再加一个timage控件(image1),另外form1上再添加四个tbitbtn控件(bitbtn1、bitbtn2、bitbtn3、bitbtn4,caption值分别为"打开文件"、"直接写屏"、"百叶窗"、"退出",其中bitbtn3的enabled的值为false)、一个tlabel控件(label1,caption为"窗格数量")、一个tedit控件(edit1,text为"30")、一个图形文件打开对话框(openpicturedialog1)和一个ttimer控件(timer1,interval值为100)。form1的最后界面见图1。 form1是第一个屏幕上的控制界面,对于第二个屏幕上的显示界面应再创建一个新的窗体form2,上面添加一个timage控件(image1,height值为768,width值为1024),form2的autosize属性设为true, borderstyle属性设为bsnone。 
unit1的说明部分如下: unit unit1; interface uses windows, messages, sysutils, classes, graphics, controls, forms, dialogs, stdctrls, buttons, extctrls, extdlgs; type tform1 = class(tform) panel1: tpanel; bitbtn1: tbitbtn; bitbtn2: tbitbtn; bitbtn3: tbitbtn; bitbtn4: tbitbtn; 


procedure tform1.bitbtn4click(sender: tobject); begin close; end; 例子中还有两点需要说明的问题:1、为简便起见,例子中打开文件时使用的是系统提供的控件,因此首次打开文件时,对话框会自动居中(即位于两个屏幕的中间,一半在第一屏上,一半在第二屏上),这时只要将其拖回至第一屏,以后打开文件将不再会有影响。当然在实用的程序中还是应自己写一段打开文件的对话框。2、在用百页窗方式时,欲切换的图像的大小必与显示器的分辩率相一致,如当显示器分辩率为1024×768时,图像大小也必须为1024×768。 上述代码在windows98/windows2000、delphi5.0下编译通过。 |