home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
wissen
/
dos
/
wgraph
/
entpack.exe
/
CALC!.EXE
/
DEMO.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-02-07
|
2KB
|
86 lines
program demo;
uses GDecl,
GApp,
GEvent,
GPCX,
GCalc;
const cmCalculator=101;
type TApplication=object(TApp)
procedure SetDesktopBackground; virtual;
procedure InitMenuBar; virtual;
procedure HandleEvent; virtual;
procedure CM_Calculator;
end;
PNewDTBgrd=^TNewDTBgrd;
TNewDTBgrd=object(TDsktpBgrd)
BgImage:TPCXImage;
procedure Draw; virtual;
end;
var MyApp:TApplication;
{Implementation TApplication}
procedure TApplication.SetDesktopBackground;
var R:TRect;
NBgrd:PNewDTBgrd;
begin
with Desktop^ do
begin
R:=Frame^.Area;
NBgrd:=new(PNewDTBgrd, Init(R));
NBgrd^.Palette[7]:=#14;
NBgrd^.Palette[8]:=#15;
List^.InsertItem(NBgrd);
end;
end;
procedure TApplication.InitMenuBar;
begin
MainMenu('~T~ools',0);
SubMenu('Taschen~r~echner F8',cmCalculator,0,kbF8,false,false);
NewLine;
SubMenu('~B~eenden Alt-X',cmCloseApplication,0,altX,false,false);
end;
procedure TApplication.HandleEvent;
begin
TProgram.HandleEvent; {Vorgänger aufrufen}
case Event.Command of
cmCalculator : CM_Calculator; {Botschaftsantwort-Methode}
end; {case}
end;
procedure TApplication.CM_Calculator;
var R:TRect;
Rechner:PCalculator;
begin
R.Assign(240,140,400,334);
Rechner:=new(PCalculator, Init(R,'Rechner',winDouble+winPanel+winMenu));
InsertDesktop(Rechner);
end;
{Implementation TNewDTBgrd}
procedure TNewDTBgrd.Draw;
var R:TRect;
begin
TDsktpBgrd.Draw;
R.Copy(Border);
R.A.y:=R.A.y+22;
BgImage.Init(R,'MARMOR.PCX');
BgImage.LoadPCXImage(0);
end;
{--- Hauptprogramm ---}
begin
MyApp.Init('Demonstrationsprogramm');
MyApp.Run;
MyApp.Done;
end.