home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Frameworks / TransSkel 3.18 / Demos / Pascal Demos / Button / Modeless.p < prev    next >
Encoding:
Text File  |  1994-05-01  |  1.5 KB  |  47 lines  |  [TEXT/PJMM]

  1.         updateEvt: 
  2.                 SkelDrawButtonOutline(SkelGetDlogCtl(dlog, okBtn));
  3.             activateEvt: 
  4.                 begin
  5.                     if (BitAnd(evt.modifiers, activeFlag) <> 0) then
  6.                         hilite := normalHilite
  7.                     else
  8.                         hilite := dimHilite;
  9.                     ignore := SkelSetDlogCtlHilite(dlog, okBtn, hilite);
  10.                     SkelDrawButtonOutline(SkelGetDlogCtl(dlog, okBtn));
  11.                     ignore := SkelSetDlogCtlHilite(dlog, cancelBtn, hilite);
  12.                 end;
  13.             keyDown: 
  14.                 Filter := SkelDlogMapKeyToButton(dlog, evt, item, okBtn, cancelBtn);
  15.         end;
  16.     end;
  17.  
  18.  
  19.     procedure Clobber;
  20.         var
  21.             dlog: DialogPtr;
  22.     begin
  23.         GetPort(dlog);
  24.         HideWindow(dlog);
  25.         DisposeDialog(dlog);
  26.     end;
  27.  
  28.  
  29.     procedure SetupModeless;
  30.         var
  31.             dlog: DialogPtr;
  32.             ignore: Boolean;
  33.     begin
  34.  
  35.         dlog := GetNewDialog(modelessRes, nil, WindowPtr(-1));
  36.         if (dlog = nil) then
  37.             begin
  38.                 SysBeep(1);
  39.                 exit(SetupModeless);
  40.             end;
  41.         ignore := SkelDialog(dlog, @filter, nil, nil, @Clobber);
  42.  
  43.         ShowWindow(dlog);
  44.         SkelDoEvents(activMask + updateMask);
  45.     end;
  46.  
  47. end.