CBdemo: Delphi Version


{*****************************************************************************
* *
* CBdemo.dpr *
* CBdemoU.pas *
* *
* This program demonstrates how to exchange information between the active *
* virtual buffer and the Windows clipboard. *
* *
*****************************************************************************}
unit CBdemoU;
interface
uses
 SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
 Forms, Dialogs, Menus, FGWin;
type
 TForm1 = class(TForm)
 MainMenu1: TMainMenu;
 Cut: TMenuItem;
 Paste: TMenuItem;
 Exit1: TMenuItem;
 procedure AppOnActivate(Sender: TObject);
 procedure FormActivate(Sender: TObject);
 procedure FormCreate(Sender: TObject);
 procedure FormPaint(Sender: TObject);
 procedure FormResize(Sender: TObject);
 procedure FormDestroy(Sender: TObject);
 procedure CutClick(Sender: TObject);
 procedure PasteClick(Sender: TObject);
 procedure ExitClick(Sender: TObject);
 end;
var
 Form1: TForm1;
implementation
{$R *.DFM}
const
 vbWidth = 320;
 vbHeight = 200;
var
 dc : hDC;
 hPal : hPalette;
 hVB : integer;
 cxClient, cyClient : integer;
procedure TForm1.AppOnActivate(Sender: TObject);
begin
 fg_realize(hPal);
 Invalidate;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
 fg_realize(hPal);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
 dc := GetDC(Form1.Handle);
 fg_setdc(dc);
 hPal := fg_defpal;
 fg_realize(hPal);
 fg_vbinit;
 hVB := fg_vballoc(vbWidth,vbHeight);
 fg_vbopen(hVB);
 fg_vbcolors;
 fg_showpcx('MOUSE.PCX'+chr(0),FG_AT_XY);
 Application.OnActivate := AppOnActivate;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
 fg_vbscale(0,vbWidth-1,0,vbHeight-1,0,cxClient-1,0,cyClient-1);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
 cxClient := ClientWidth;
 cyClient := ClientHeight;
 Invalidate;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
 fg_vbclose;
 fg_vbfree(hVB);
 fg_vbfin;
 DeleteObject(hPal);
 ReleaseDC(Form1.Handle,dc);
end;
procedure TForm1.CutClick(Sender: TObject);
begin
 fg_vb2clip(0,vbWidth-1,0,vbHeight-1);
 fg_erase;
 fg_vbscale(0,vbWidth-1,0,vbHeight-1,0,cxClient-1,0,cyClient-1);
 Paste.Enabled := True;
end;
procedure TForm1.PasteClick(Sender: TObject);
begin
 fg_clip2vb(0,vbWidth-1,0,vbHeight-1,0);
 fg_vbscale(0,vbWidth-1,0,vbHeight-1,0,cxClient-1,0,cyClient-1);
end;
procedure TForm1.ExitClick(Sender: TObject);
begin
 Close;
end;
end.

Contents
Fastgraph Home Page

 

copyright 2001 Ted Gruber Software, Inc.

AltStyle によって変換されたページ (->オリジナル) /