home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / apple2 / 27418 < prev    next >
Encoding:
Internet Message Format  |  1993-01-24  |  2.3 KB

  1. Path: sparky!uunet!newsflash.concordia.ca!clyde.concordia.ca!altitude!vandry
  2. From: vandry@CAM.ORG (Phillip Vandry)
  3. Newsgroups: comp.sys.apple2
  4. Subject: Keyboard menus
  5. Message-ID: <C1Bt99.9JL@CAM.ORG>
  6. Date: 23 Jan 93 21:34:20 GMT
  7. Organization: Champlain Regional College, St-Lambert QC CANADA
  8. Lines: 45
  9.  
  10. If you are currently writing or plan to write a desktop program that uses
  11. custom menus, read this, please!
  12.  
  13. I am writing a utility which allows access to menus via the keyboard. It
  14. works automatically with all standard menus, but custom menus need a few
  15. (easy) modifications in order to work. I encourage you to make these
  16. modifications as they are easy to makeand will result in only about 50
  17. extra bytes of code. The result is well worth it.
  18.  
  19. If you make the modifications, your program will still work without my
  20. utility, so you haven't got anything to lose!
  21.  
  22. Here are the modifications you must make:
  23.  
  24. -------
  25. How to make custom menus work from the keyboard:
  26.  
  27. - The number of items in the menu must be stored as a word at offset $0C in
  28.   the menu record. (as with standard menus)
  29. - The internal item numbers (not the Item ID numbers) must number from 0 up.
  30. - The highest (normally unused) byte of the defproc pointer (offset $09 in
  31.   the menu record) must be equal to $55. This tells the keyboard menu select
  32.   routine that your menu is compatible with it.
  33. - There is a new request which the defproc must support: $06 MGetMItemEnable.
  34.   It works just like MGetMItemID except it must return TRUE is an item is
  35.   enabled and FALSE if not.
  36. -------
  37.  
  38. If you need help or sample source code, contact me.
  39.  
  40. Thank you.
  41.  
  42. -------
  43. Does anyone know of an NDA other than WriteIt that puts a menu bar in its
  44. window? I need to test my utility on bars other than the system one.
  45.  
  46. The problem is that WriteIt handles keypresses itself instead of calling
  47. MenuKey, defeating my patched MenuKey. (Notice that when you select something
  48. from WriteIt's menus, the menu doesn't hilight!)
  49.  
  50.  ______________________________________________________________________
  51. |~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~|
  52. | Phillip Vandry | Vandry@Cam.Org | II the future! | II 1993!          |
  53. |________________|________________|________________|___________________|
  54.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55.