home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / das_buch / tvision / workapp / workapp.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1993-05-03  |  1.9 KB  |  81 lines

  1. (* ------------------------------------------------------ *)
  2. (*                   WORKAPP.PAS                          *)
  3. (*           (c) 1993 te-wi Verlag, München               *)
  4. (* ------------------------------------------------------ *)
  5. PROGRAM WorkApp;
  6.  
  7. {$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S+,T-,V+,X+,Y+}
  8. {$M 16384,0,655360}
  9.  
  10. USES Objects, Drivers, Views, Menus, MsgBox, Dialogs, App;
  11.  
  12. CONST
  13.   cmAbout = 101;
  14.   cmTest  = 102;
  15.  
  16. (* ------------------------------------------------------ *)
  17.  
  18. {$I TESTAPP.PAS}
  19.  
  20. (* --- Main Application Object -------------------------- *)
  21.  
  22.   PROCEDURE DoTest;
  23.   VAR
  24.     C : pTestApp;                  (* zu testender Dialog *)
  25.   BEGIN
  26.     C := New(pTestApp, Init);
  27.     Desktop^.Insert(C);
  28.   END;
  29.  
  30. TYPE
  31.   tMyApp = OBJECT (tApplication)
  32.     PROCEDURE InitMenuBar; VIRTUAL;
  33.     PROCEDURE HandleEvent(VAR Event : tEvent); VIRTUAL;
  34.   END;
  35.  
  36.   PROCEDURE tMyApp.InitMenuBar;
  37.   VAR
  38.     R : tRect;
  39.   BEGIN
  40.     GetExtent(R);
  41.     R.B.Y := R.A.Y + 1;
  42.     MenuBar := New(pMenuBar, Init(R, NewMenu(
  43.       NewSubMenu('~≡~', hcNoContext, NewMenu(
  44.         NewItem('~T~est', '', kbNoKey, cmTest, hcNoContext,
  45.         NewItem('~A~bout', '', kbNoKey, cmAbout, hcNoContext,
  46.         NIL))),
  47.       NIL))));
  48.   END;
  49.  
  50.   PROCEDURE tMyApp.HandleEvent(VAR Event : tEvent);
  51.   BEGIN
  52.     inherited HandleEvent(Event);
  53.  
  54.     IF Event.What = evCommand THEN BEGIN
  55.       CASE Event.Command OF
  56.         cmTest  : BEGIN
  57.                     DoTest;
  58.                   END;
  59.         cmAbout : BEGIN
  60.                     MessageBox(#3'Turbo Vision Application',
  61.                     NIL, mfInformation OR mfOkButton);
  62.                   END;
  63.       ELSE
  64.         Exit;
  65.       END;
  66.       ClearEvent(Event);
  67.     END;
  68.   END;
  69.  
  70. VAR
  71.   anApp : tMyApp;
  72.  
  73. BEGIN
  74.   anApp.Init;
  75.   anApp.Run;
  76.   anApp.Done;
  77. END.
  78. (* ------------------------------------------------------ *)
  79. (*                Ende von WORKAPP.PAS                    *)
  80.  
  81.