johnsone@uxh.cso.uiuc.edu (Erik A. Johnson) (11/27/90)
I am writing a program (Think C 4.0) that in one part uses a modeless dialog. while (not_done) { WaitNextEvent( ... ); if (it_is_a_dialog_event) do_dialog_stuff(); else { if (it_is_a_mouseDown) thePart = FindWindow( ... ); { if (thePart==inMenuBar) do_menu_stuff(); else if (thePart==inSysWindow) SystemClick( ... ); /* here */ } } } What is not working the way I want it to is changing to another program (under MultiFinder, of course) by clicking on another program's window. Do I need to put something else where I marked "/* here */" in the code? Perhaps checking if (mouseDown_inDesk)? Thanks for the help. Erik A. Johnson, Graduate Student \ Internet: johnsone@uxh.cso.uiuc.edu Aeronautical & Astronautical Engineering \ University of Illinois at Urbana-Champaign \ AmericaOnline: ErikAJ
johnsone@uxh.cso.uiuc.edu (Erik A. Johnson) (11/29/90)
Well with some help I figured out why I couldn't get my Mac to switch to another application through mouseDown-ing in that applications window while my application is frontmost. "Currently, MultiFinder will not suspend your application when the frontmost window is a modal dialog box with a window of type dBoxProc ..." (Programmer's Guide to MultiFinder, (c) 1988, Apple; p. 3-11) (The dBoxProc window is the standard double-lined dialog window.) I found that using a modeless dialog box of type dBoxProc also (though after re-reading the stuff about modeless dialogs in IM I, I think I'm using it contrary to standard Apple guidelines -- OH NO! :-) ). Thanks to all who responded, especially Steve Dorner at UIUC for pointing out the dBoxProc stuff, and to Phil Shapiro at Symantec for pointing me to the Programmer's Guide to MF. Erik A. Johnson, Graduate Student \ Internet: johnsone@uxh.cso.uiuc.edu Aeronautical & Astronautical Engineering \ University of Illinois at Urbana-Champaign \ AmericaOnline: ErikAJ