home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / fillbar / fbdemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-03-02  |  2.7 KB  |  113 lines

  1. {$A+,B-,D-,E-,F-,G+,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V+,W+,X+,Y+}
  2. {$M 8192,8192}
  3. (*========================================================*)
  4. (*                       FBDEMO.PAS                       *)
  5. (*         (C) 1993 Andreas Siegmund & DMV-Verlag         *)
  6. (*        Demonstration fⁿr Fillbars in Dialogboxen       *)
  7. (*  Compiler: Turbo Pascal f. Windows, Borland Pascal 7.0 *) 
  8. (*========================================================*)
  9.  
  10. PROGRAM FBDemo;
  11.  
  12. {$R FBDEMO.RES}
  13.  
  14. USES
  15.   WinProcs, WinTypes,
  16.   {$IFDEF VER70} ODialogs, OWindows, {$ELSE} WObjects,
  17.   {$ENDIF} FillBar, BWCC;
  18.  
  19. CONST
  20.   id_MinusButton = 100;
  21.   id_PlusButton  = 110;
  22.  
  23. TYPE
  24.   TestApp = OBJECT(tApplication)
  25.     PROCEDURE InitMainWindow; VIRTUAL;
  26.   END;
  27.  
  28.   pMainWin = ^tMainWin;
  29.   tMainWin = OBJECT(tWindow)
  30.     CONSTRUCTOR Init(aParent: pWindowsObject; aName: pChar);
  31.     PROCEDURE   Dialog(VAR Msg: tMessage);
  32.                   VIRTUAL cm_First + 100;
  33.     PROCEDURE   Quit(VAR Msg: tMessage);
  34.                   VIRTUAL cm_First + 200;
  35.   END;
  36.  
  37.   pTestDlg = ^tTestDlg;
  38.   tTestDlg = OBJECT(tDialog)
  39.     FillBarValue : INTEGER;
  40.     CONSTRUCTOR Init(aParent: pWindowsObject; aName: pChar);
  41.     PROCEDURE    PlusButton(VAR Msg: tMessage);
  42.                    VIRTUAL id_First + id_PlusButton;
  43.     PROCEDURE MinusButton(VAR Msg: tMessage);
  44.                    VIRTUAL id_First + id_MinusButton;
  45.   END;
  46.  
  47. (*========================================================*)
  48.  
  49. PROCEDURE TestApp.InitMainWindow;
  50. BEGIN
  51.   MainWindow := New(pMainWin, Init(NIL, 'FillBar-Demo'));
  52. END;
  53.  
  54. CONSTRUCTOR tMainWin.Init;
  55. BEGIN
  56.   tWindow.Init(aParent, aName);
  57.   Attr.Menu := LoadMenu(hInstance, pChar(100));
  58. END;
  59.  
  60. PROCEDURE tMainWin.Dialog;
  61. VAR
  62.   Dlg: pTestDlg;
  63. BEGIN
  64.   BWCCMessageBox(hWindow,
  65.                  'Jetzt kommt der Fillbar-Test-Dialog!',
  66.                  'Meldung', mb_OK OR mb_IconExclamation);
  67.   Dlg := New(pTestDlg, Init(@Self, pChar(100)));
  68.   Application^.ExecDialog(Dlg);
  69. END;
  70.  
  71. PROCEDURE tMainWin.Quit;
  72. BEGIN
  73.   CloseWindow;
  74. END;
  75.  
  76. CONSTRUCTOR tTestDlg.Init;
  77. BEGIN
  78.   tDialog.Init(aParent, aName);
  79.   FillBarValue := 0;
  80. END;
  81.  
  82. PROCEDURE tTestDlg.PlusButton;
  83. BEGIN
  84.   IF FillBarValue < 100 THEN
  85.   BEGIN
  86.     Inc(FillBarValue, 5);
  87.     SetFillBarValue(hWindow, 120, FillBarValue);
  88.     MessageBeep(0);
  89.   END;
  90. END;
  91.  
  92. PROCEDURE tTestDlg.MinusButton;
  93. BEGIN
  94.   IF FillBarValue > 0 THEN
  95.   BEGIN
  96.     Dec(FillBarValue, 5);
  97.     SetFillBarValue(hWindow, 120, FillBarValue);
  98.     MessageBeep(0);
  99.   END;
  100. END;
  101.  
  102. VAR
  103.   App : TestApp;
  104.  
  105. BEGIN
  106.   App.Init('FillBar-Demo');
  107.   App.Run;
  108.   App.Done;
  109. END.
  110.  
  111. (*========================================================*)
  112. (*                   Ende von FBDEMO.PAS                  *)
  113.