home *** CD-ROM | disk | FTP | other *** search
- #include <quickdraw.h>
- #include <windows.h>
- #include <serial.h>
- #include <events.h>
- #include <menus.h>
- #include <desk.h>
- #include <fonts.h>
- #include <dialogs.h>
-
- #define appleMenu 99
- #define fileMenu 256
-
- #define NMENUS 2
-
- MenuHandle myMenus[NMENUS];
-
- struct GrafPort *whichWindow;
- struct EventRecord myEvent;
-
-
- main()
- {
- int code;
-
- InitGraf(&qd.thePort);
- InitWindows();
- InitFonts();
- setupmenu();
- InitDialogs(0L);
- InitCursor();
-
- for (;;) {
- SystemTask();
- if (!GetNextEvent(everyEvent, &myEvent))
- continue;
- switch (myEvent.what) {
- case mouseDown:
- code = FindWindow(&myEvent.where, &whichWindow);
- switch (code) {
- case inMenuBar:
- docommand(MenuSelect(&myEvent.where));
- break;
- case inSysWindow:
- SystemClick(&myEvent, whichWindow);
- break;
- }
- break;
- case keyDown:
- dokey();
- break;
- }
- }
- }
-
- setupmenu()
- {
- int i;
- InitMenus();
- myMenus[0] = NewMenu(appleMenu, "\024");
- AddResMenu(myMenus[0], 'DRVR');
- myMenus[1] = NewMenu(fileMenu, "File");
- AppendMenu(myMenus[1], "Quit/Q");
- for (i=0;i<NMENUS;i++)
- InsertMenu(myMenus[i], 0);
-
- DrawMenuBar();
- }
-
- docommand(mResult)
- long mResult;
- {
- int theItem, theMenu;
- char name[40];
-
- theMenu = mResult >> 16;
- theItem = mResult;
- switch(theMenu) {
- case appleMenu:
- GetItem(myMenus[0], theItem, name);
- OpenDeskAcc(name);
- break;
- case fileMenu:
- exit(0);
- }
- HiliteMenu(0);
- }
-
-
- dokey()
- {
- short ch;
- long menuChoice;
-
- ch = (short )(myEvent.message & charCodeMask);
-
- if (myEvent.modifiers & cmdKey) {
- if (myEvent.what != autoKey) {
- menuChoice = MenuKey(ch);
- docommand(menuChoice);
- }
- }
- }
-