Open 2 Cards in same stack side by side

Richard Gaskin ambassador at fourthworld.com
Sun Mar 20 12:01:14 EDT 2016


Richmond wrote:
> "In HyperCard 2.x, you can have only one stack open but many card
> windows open"
> 
> http://www-psych.stanford.edu/~pinto/hc2.html
> 
> Mind you, I cannot for the life of me remember how to code that.

Calhoun's description there hints at how we could do this in LC:

     In HyperCard 2.x, you can have only one stack
     open but many card windows open -- the stacks
     in inactive windows are actually closed, i.e.
     the files on disk are closed.  As I've
     explained elsewhere, an inactive card window is
     nothing more than a big button whose "script"
     tells HC to "go to the card whose image is in
     this window".  When you click on such a window,
     HyperCard activates it, closes the current stack,
     and opens the stack in the newly active window.

You could write this in LC easily enough using:

   import snapshop from <cardLongID>

The older snapshot syntax requiring a rect can only grab from the 
current screen buffer, but the newer "from <object>" option causes a 
fresh rendering of the specified object directly into the new image's 
buffer - and those objects to not need to be open, or even in memory 
yet, at the time that command it called.  If it's a valid object 
reference, it'll work for any object that has a visual appearance 
(meaning cards and controls, but not stacks since a stack is an 
abstraction whose visible element is a card).

Try it:

answer file "Select a stack file:"
import snapshot from the long id of cd 1 of it

-- 
- Richard Gaskin
   Fourth World Systems
   wwww.fourthworld.com




More information about the use-livecode mailing list