home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Snippets / Demo / Demo.p < prev    next >
Encoding:
Text File  |  1997-07-22  |  1.8 KB  |  81 lines  |  [TEXT/CWIE]

  1. PROGRAM Demo;
  2. USES
  3.     Types, Errors, Memory, QuickDraw, Fonts, Events, Windows, Menus, TextEdit, Dialogs,
  4.     IconCache, OffscreenUtils, IconButtons, GraySlider;
  5.     
  6.     PROCEDURE InitializeToolbox;
  7.     VAR
  8.         err: OSErr;
  9.         
  10.     BEGIN
  11.         InitGraf(@qd.thePort);
  12.         InitFonts;
  13.         InitWindows;
  14.         InitMenus;
  15.         TEInit;
  16.         InitDialogs(NIL);
  17.         MoreMasters;
  18.     END;
  19.     
  20. VAR
  21.     w, mainWindow: WindowPtr;
  22.     event: EventRecord;
  23.     done: BOOLEAN;
  24.     box: Rect;
  25.     slider: GraySliderInfo;
  26.     btn1, btn2: IconButtonHandle;
  27.     
  28. BEGIN
  29.     InitializeToolbox;
  30.     
  31.     mainWindow := GetNewCWindow(128, NIL, WindowPtr(-1));
  32.     SetPort(mainWindow);
  33.     
  34.     SetRect(box, 84, 20, 156, 27);
  35.     InitializeGraySlider(axHoricontal, box, 130, 129, 130, 0, 64, 32, slider);
  36.     
  37.     btn1 := NewIconButton(10, 84, 200, 201, 133);
  38.     btn2 := NewIconButton(50, 84, 131, 132, 128);
  39.     
  40.     done := FALSE;
  41.     REPEAT
  42.         IF WaitNextEvent(everyEvent, event, 30, NIL) THEN
  43.             IF event.what = mouseDown THEN
  44.                 CASE FindWindow(event.where, w) OF
  45.                     inDrag:
  46.                         DragWindow(w, event.where, GetGrayRgn^^.rgnBBox);
  47.                         
  48.                     inGoAway:
  49.                         done := TrackGoAway(w, event.where);
  50.                         
  51.                     inContent:
  52.                         BEGIN
  53.                             GlobalToLocal(event.where);
  54.                             IF HitGraySlider(slider, event.where) THEN
  55.                                 IF TrackGraySlider(slider, NIL) THEN
  56.                                     ;
  57.                             
  58.                             IF HitIconButton(btn1, event.where) THEN
  59.                                 IF TrackIconButton(btn1, NIL) THEN
  60.                                     ;
  61.                                     
  62.                             IF HitIconButton(btn2, event.where) THEN
  63.                                 IF TrackIconButton(btn2, NIL) THEN
  64.                                     ;
  65.                         END;
  66.                 END
  67.             ELSE IF event.what = updateEvt THEN
  68.                 BEGIN
  69.                     BeginUpdate(WindowPtr(event.message));
  70.                     SetRect(box, 10, 10, 74, 74);
  71.                     PlotCachedIcon(134, box);
  72.                     DrawGraySlider(slider);
  73.                     DrawIconButton(btn1);
  74.                     DrawIconButton(btn2);
  75.                     EndUpdate(WindowPtr(event.message));
  76.                 END;
  77.     UNTIL done;
  78.     
  79.     FreeGraySlider(slider);
  80.     DisposeWindow(mainWindow);
  81. END.