Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
MoveableModalDialog.c
/* |
File: MoveableModalDialog.c |
Contains: |
Written by: Pete Gontier |
Copyright: Copyright © 1997-1999 by Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
7/19/1999 Karl Groethe Updated for Metrowerks Codewarror Pro 2.1 |
*/ |
#include <Sound.h> |
#include "MoveableModalDialog.h" |
pascal void MoveableModalDialog (ModalFilterUPP mfp, short *itemHit) |
{ |
EventRecord event; |
DialogRef pop, dummy; |
WindowRef whichWindow; |
short partCode; |
Boolean handledIt = false; |
pop = FrontWindow( ); |
*itemHit = -1; |
do |
{ |
WaitNextEvent (everyEvent & ~highLevelEventMask, &event, GetCaretTime( ), nil); |
switch (event.what) |
{ |
case mouseDown: |
partCode = FindWindow (event.where, &whichWindow); |
if (whichWindow != pop) |
{ |
if (partCode == inSysWindow) |
SystemClick (&event,whichWindow); |
else |
SysBeep(10); |
break; |
} |
if (inDrag == partCode) |
{ |
Rect dragBounds; |
dragBounds = qd.screenBits.bounds; |
InsetRect (&dragBounds, 4, 4); |
DragWindow (pop, event.where, &dragBounds); |
break; |
} |
// fall thru |
default: |
if (mfp) |
handledIt = CallModalFilterProc (mfp,pop,&event,itemHit); |
if (!handledIt && IsDialogEvent(&event)) |
DialogSelect(&event,&dummy,itemHit); |
break; |
} |
} |
while (*itemHit == -1); |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-30