home *** CD-ROM | disk | FTP | other *** search
/ Best of German Only 1 / romside_best_of_german_only_1.iso / wissen / dos / wgraph / entpack.exe / WGBSP!.EXE / BSP6.PAS < prev    next >
Pascal/Delphi Source File  |  1992-12-01  |  3KB  |  125 lines

  1. program Beispiel6;
  2.  
  3. uses GApp,
  4.      GDecl,
  5.      GViews,
  6.      graph;
  7.  
  8.  
  9. const cmNew    = 101;   cmRestore   = 201;
  10.       cmLoad   = 102;   cmCut       = 202;
  11.       cmSave   = 103;   cmCopy      = 203;
  12.       cmPrint  = 104;   cmMove      = 204;
  13.       cmErase  = 105;   cmTurn      = 204;
  14.  
  15.       cmMagni  = 301;   cmRoman     = 401;
  16.       cmGrid   = 302;   cmScript    = 402;
  17.       cmPencel = 303;   cmTimes     = 403;
  18.       cmBrush  = 304;   cmNormal    = 404;
  19.                         cmBold      = 405;
  20.                         cmItalic    = 406;
  21.                         cmUnderline = 407;
  22.  
  23.  
  24.  
  25. type TApplication=object(TApp)
  26.        procedure SetDesktopFrame(Titel:string);virtual;
  27.        procedure SetDesktopBackground; virtual;
  28.        procedure InitMenuBar; virtual;
  29.      end;
  30.  
  31.      PNewDTBgrd=^TNewDTBgrd;
  32.      TNewDTBgrd=object(TDsktpBgrd)
  33.        procedure Draw;virtual;
  34.      end;
  35.  
  36. var MyProg:TApplication;
  37.  
  38. {Implementation TApplication}
  39.  
  40. procedure TApplication.SetDesktopFrame(Titel:string);
  41. var R:TRect;
  42. begin
  43.   with Desktop^ do
  44.    begin
  45.      GetBounds(R);
  46.      Frame:=new(PFrame, Init(R,R,Titel,winDouble+winPanel+winMenu));
  47.      Frame^.Palette:=Palette1;
  48.      List^.InsertItem(Frame);
  49.    end;
  50. end;
  51.  
  52. procedure TApplication.SetDesktopBackground;
  53. var R:TRect;
  54.     NBgrd:PNewDTBgrd;
  55. begin
  56.   with Desktop^ do
  57.    begin
  58.      R:=Frame^.Area;
  59.      NBgrd:=new(PNewDTBgrd, Init(R));
  60.      NBgrd^.Palette[7]:=#14;
  61.      NBgrd^.Palette[8]:=#7;
  62.      List^.InsertItem(NBgrd);
  63.    end;
  64. end;
  65.  
  66. procedure TApplication.InitMenuBar;
  67. begin
  68.   Palette[1]:=#14;
  69.   Palette[5]:=#14;
  70.   Palette[4]:=#4;
  71.   Palette[12]:=#4;
  72.   MainMenu('~D~atei',1);
  73.     SubMenu('~N~eues Bild',cmNew,0,0,false,false);
  74.     SubMenu('Bild ~L~aden      F3',cmLoad,0,kbF3,false,false);
  75.     SubMenu('Bild ~S~peichern  F2',cmSave,0,kbF2,false,false);
  76.     NewLine;
  77.     SubMenu('~D~rucken',cmPrint,0,0,false,false);
  78.     SubMenu('Lös~c~hen',cmErase,0,0,false,false);
  79.     NewLine;
  80.     SubMenu('~B~eenden      Alt-X',cmCloseApplication,0,altX,false,false);
  81.   MainMenu('~B~earbeiten',2);
  82.     SubMenu('~R~ückgängig',cmRestore,0,0,false,false);
  83.     NewLine;
  84.     SubMenu('~S~chnitt',cmCut,0,0,true,false);
  85.     SubMenu('~K~opieren',cmCopy,0,0,true,false);
  86.     SubMenu('~V~erschieben',cmMove,0,0,true,false);
  87.     SubMenu('~D~rehen',cmTurn,0,0,true,false);
  88.   MainMenu('~W~erkzeuge',3);
  89.     SubMenu('~V~ergrößern',cmMagni,0,0,false,false);
  90.     NewLine;
  91.     SubMenu('~R~aster',cmGrid,0,0,false,false);
  92.     NewLine;
  93.     SubMenu('~P~insel ändern',cmPencel,0,0,false,false);
  94.     SubMenu('~S~pray ändern',cmBrush,0,0,false,false);
  95.   MainMenu('~S~chrift',4);
  96.     SubMenu('~R~oman',cmRoman,0,0,false,true);
  97.     SubMenu('~S~cript',cmScript,0,0,false,false);
  98.     SubMenu('~T~imes',cmTimes,0,0,false,false);
  99.     NewLine;
  100.     SubMenu('~N~ormal',cmNormal,0,0,false,true);
  101.     SubMenu('~F~ett',cmBold,0,0,false,false);
  102.     SubMenu('~K~ursiv',cmItalic,0,0,false,false);
  103.     SubMenu('~U~nterstrichen',cmUnderline,0,0,false,false);
  104. end;
  105.  
  106.  
  107. {Implementation TNewDTBgrd}
  108.  
  109. procedure TNewDTBgrd.Draw;
  110. begin
  111.   with Border do
  112.    begin
  113.      SetFillStyle(SolidFill,GetPalColor(7));
  114.      Bar(A.x,A.y,B.x,A.y+20);
  115.      SetFillStyle(SolidFill,GetPalColor(8));
  116.      Bar(A.x,A.y+22,B.x,B.y);
  117.    end;
  118. end;
  119.  
  120.  
  121. begin
  122.   MyProg.Init('Beispiel 6');
  123.   MyProg.Run;
  124.   MyProg.Done;
  125. end.