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 >
Pascal/Delphi Source File  |  1993-02-07  |  2KB  |  86 lines

  1. program demo;
  2.  
  3. uses GDecl,
  4.      GApp,
  5.      GEvent,
  6.      GPCX,
  7.      GCalc;
  8.  
  9. const cmCalculator=101;
  10.  
  11. type TApplication=object(TApp)
  12.       procedure SetDesktopBackground; virtual;
  13.       procedure InitMenuBar; virtual;
  14.       procedure HandleEvent; virtual;
  15.       procedure CM_Calculator;
  16.      end;
  17.  
  18.      PNewDTBgrd=^TNewDTBgrd;
  19.      TNewDTBgrd=object(TDsktpBgrd)
  20.       BgImage:TPCXImage;
  21.       procedure Draw; virtual;
  22.      end;
  23.  
  24. var MyApp:TApplication;
  25.  
  26. {Implementation TApplication}
  27.  
  28. procedure TApplication.SetDesktopBackground;
  29. var R:TRect;
  30.     NBgrd:PNewDTBgrd;
  31. begin
  32.   with Desktop^ do
  33.    begin
  34.      R:=Frame^.Area;
  35.      NBgrd:=new(PNewDTBgrd, Init(R));
  36.      NBgrd^.Palette[7]:=#14;
  37.      NBgrd^.Palette[8]:=#15;
  38.      List^.InsertItem(NBgrd);
  39.    end;
  40. end;
  41.  
  42. procedure TApplication.InitMenuBar;
  43. begin
  44.   MainMenu('~T~ools',0);
  45.    SubMenu('Taschen~r~echner  F8',cmCalculator,0,kbF8,false,false);
  46.    NewLine;
  47.    SubMenu('~B~eenden      Alt-X',cmCloseApplication,0,altX,false,false);
  48. end;
  49.  
  50. procedure TApplication.HandleEvent;
  51. begin
  52.   TProgram.HandleEvent;  {Vorgänger aufrufen}
  53.   case Event.Command of
  54.    cmCalculator : CM_Calculator;  {Botschaftsantwort-Methode}
  55.   end; {case}
  56. end;
  57.  
  58. procedure TApplication.CM_Calculator;
  59. var R:TRect;
  60.     Rechner:PCalculator;
  61. begin
  62.   R.Assign(240,140,400,334);
  63.   Rechner:=new(PCalculator, Init(R,'Rechner',winDouble+winPanel+winMenu));
  64.   InsertDesktop(Rechner);
  65. end;
  66.  
  67. {Implementation TNewDTBgrd}
  68.  
  69. procedure TNewDTBgrd.Draw;
  70. var R:TRect;
  71. begin
  72.   TDsktpBgrd.Draw;
  73.   R.Copy(Border);
  74.   R.A.y:=R.A.y+22;
  75.   BgImage.Init(R,'MARMOR.PCX');
  76.   BgImage.LoadPCXImage(0);
  77. end;
  78.  
  79. {--- Hauptprogramm ---}
  80.  
  81. begin
  82.   MyApp.Init('Demonstrationsprogramm');
  83.   MyApp.Run;
  84.   MyApp.Done;
  85. end.
  86.