HyperCard 2.2: Miscellaneous HyperTalk Enhancements (12/93)

This article describes several HyperTalk enhancements that appear with
HyperCard 2.2. For more detail, see the new HyperTalk Reference stack. See
also the Tech Info Library article on HyperCard 2.2's enhanced HyperTalk
commands.

hilite: If a button belongs to a family and its hilite property is set to
true from a script, the hilite property of each of the other buttons in the
family is set to false.

menu: You can specify a menu by its ID number. You can specify the System
7.x keyboards menu by its name.

menuItem: You can use the adjective "English" to determine the names of
menus and menu items in English:

if the English name of menuItem 5 of menu "Edit" is "Paste"...

play: If a sound fails to play, HyperCard sets the result to "Couldn't load
sound". The result gets "Sound is off" if the volume is 0, if HyperCard is
running in the background, or if an XCMD is using the sound channel. A note
string can now contain as many characters as you want.

program: You can specify a program by its ID, which is its application
signature:

put the ID of HyperCard -- -> WILD
get there is a program ID "MACS" -- is the Finder running?

You can say "this program" when you refer to the current process.

programs: You can get a list of Apple event-aware programs running on
remote machines by using the form

get the programs of machine zone:Mac

rect: You can retrieve (but not set) the complete complement of rect
properties of the menu bar: rect, width, height, top, and so on.

value: There is no limit to the character count for value's argument. When
the argument of value is a multi-token literal expression, the expression
evaluates to itself:

put value("HyperCard 2.2") -- -> HyperCard 2.2

This article was adapted from the HyperCard 2.2 New Features stack.
Published Date: Feb 19, 2012