- 相關(guān)推薦
多屏卡編程實(shí)例
多屏卡編程實(shí)例
對(duì)多屏卡進(jìn)行編程與在一個(gè)單屏上編程沒有大的區(qū)別,只是可訪問的地址更大一些,另一點(diǎn)就是一定要按地址準(zhǔn)確地訪問,避免一幅圖片被兩個(gè)屏幕分割開來。下面是一個(gè)利用多屏卡進(jìn)行編程的小例子,用delphi實(shí)現(xiàn)。在這個(gè)例子中,用到兩個(gè)顯示屏,以2×1排列,這樣第一屏幕的地址為(0,0,768,1024),而第二個(gè)屏的地址為(0,1024,768,2048)。在這個(gè)例子中,第一個(gè)屏幕為控制界面,第二個(gè)屏幕為顯示界面。在第一個(gè)屏幕可以打開一個(gè)圖片,然后在第二個(gè)屏幕顯示這個(gè)圖片,也可以采用百葉窗的方式將第二個(gè)屏幕上原有的圖片切換為第一屏中的圖片。
首先創(chuàng)建一個(gè)工程,在Form1上添加一個(gè)TPanel控件(Panel1),Panel1上再加一個(gè)TImage控件(Image1),另外Form1上再添加四個(gè)TBitBtn控件(BitBtn1、BitBtn2、BitBtn3、BitBtn4,Caption值分別為"打開文件"、"直接寫屏"、"百葉窗"、"退出",其中BitBtn3的Enabled的值為False)、一個(gè)TLabel控件(Label1,Caption為"窗格數(shù)量")、一個(gè)TEdit控件(Edit1,Text為"30")、一個(gè)圖形文件打開對(duì)話框(OpenPictureDialog1)和一個(gè)TTimer控件(Timer1,Interval值為100)。Form1的最后界面見圖1。
Form1是第一個(gè)屏幕上的控制界面,對(duì)于第二個(gè)屏幕上的顯示界面應(yīng)再創(chuàng)建一個(gè)新的窗體Form2,上面添加一個(gè)TImage控件(Image1,Height值為768,Width值為1024),F(xiàn)orm2的AutoSize屬性設(shè)為True, BorderStyle屬性設(shè)為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;
例子中還有兩點(diǎn)需要說明的問題:1、為簡(jiǎn)便起見,例子中打開文件時(shí)使用的是系統(tǒng)提供的控件,因此首次打開文件時(shí),對(duì)話框會(huì)自動(dòng)居中(即位于兩個(gè)屏幕的中間,一半在第一屏上,一半在第二屏上),這時(shí)只要將其拖回至第一屏,以后打開文件將不再會(huì)有影響。當(dāng)然在實(shí)用的程序中還是應(yīng)自己寫一段打開文件的對(duì)話框。2、在用百頁窗方式時(shí),欲切換的圖像的大小必與顯示器的分辯率相一致,如當(dāng)顯示器分辯率為1024×768時(shí),圖像大小也必須為1024×768。
上述代碼在Windows98/Windows2000、delphi5.0下編譯通過。
【多屏卡編程實(shí)例】相關(guān)文章:
組網(wǎng)實(shí)例08-12
履歷的實(shí)例08-15
《說“屏”》08-16
編程的心得09-13
水墨風(fēng)屏08-15
《說“屏”》 108-16
《說“屏”》 208-16
《說“屏”》 308-16
《說“屏”》 408-16