[comp.sys.mac.hypercard] MacWeek dragRECT XCFN

ben@ut-emx.UUCP (Benjamin J. Sloan) (04/22/89)

This week's (ending April 20) edition of MacWeek magazine makes mention of an
XCFN called 'dragRECT' for use in making scroll bars in HyperCard.  Does
anyone know of such an XFCN and/or how one might obtain it?

Thanks in advance,

Ben Sloan
Univ. Texas Geology
ben@emx.utexas.edu

czei@quanta.eng.ohio-state.edu (Michael S. Czeiszperger) (04/22/89)

In article <12291@ut-emx.UUCP> ben@ut-emx.UUCP (Benjamin J. Sloan) writes:
>This week's (ending April 20) edition of MacWeek magazine makes mention of an
>XCFN called 'dragRECT' for use in making scroll bars in HyperCard.  Does
>anyone know of such an XFCN and/or how one might obtain it?

The disk "101 Scripts & Buttons" contains the dragRect XFCN, as well
as DragGrow and DragSelect.  It costs about $35 on discount, and is
available from:


Individual Software Incorporated
125 Shoreway Road, #3000
San Carlos, CA 94070
415-595-8855 (in CA)
800-331-3313 (U.S. except CA)


-- 
Michael S. Czeiszperger | "...the average sea bass caught off the coast of
Systems Analyst         | Los Angeles contains three times your lifetime's
Ohio State University   | worth of toxins...", NBC News, 4/17/89
ARPA:czei@icarus.eng.ohio-state.edu  2015 Neil, Columbus, OH 43210 292-0161

t-jacobs@wasatch.utah.edu (Tony Jacobs) (04/23/89)

In article <12291@ut-emx.UUCP> ben@ut-emx.UUCP (Benjamin J. Sloan) writes:
>This week's (ending April 20) edition of MacWeek magazine makes mention of an
>XCFN called 'dragRECT' for use in making scroll bars in HyperCard.  Does
>anyone know of such an XFCN and/or how one might obtain it?
>
>Thanks in advance,
>
>Ben Sloan
>Univ. Texas Geology
>ben@emx.utexas.edu

It's not the one mentioned in MacWeek but I wrote one that works. It takes a
rectangle passed inside a mouse down handler and you drag a grey outline of the
rectangle around where you please. I am still planning on adding some error 
checking and passing a message back to indicate if a valid rectangle is passed
in. If some one has a LSC piece of code for passing back a result it would 
help. I have tried a couple of different ones and haven't got them to work. I
haven't tried real hard to debug them yet.

It currently handles a shift key or shift-option to force it into a verticle
or horizontal movement. In order to do a scroll bar correctly I would need to
add a switch which I'm thinking of doing.

I'm also thinking of adding a switch that would pass a message back to move
the "target" (whether it be a button or field) by the amount the rectangle is
passed. I would also like to be able to add the ability to interact with 
HyperCard so that if the mouse is above a button or field it can hilite it.
This way you can use buttons or fields as objects and you can move them to
other objects and "put them in" those objects. Things like that.

If anyone has other suggestions for enhancements to my "DragIT" XCMD, let
me know and I'll see what I can do.

If you want the abbreviated version of it, mail me and I'll send it to you. It
is free with all rights reserved, free to use in non commercial stacks, etc.



-- 
Tony Jacobs * Center for Engineering Design * U of U * t-jacobs@ced.utah.edu

davef@Jessica.stanford.edu (David Finkelstein) (04/25/89)

In article <12291@ut-emx.UUCP> ben@ut-emx.UUCP (Benjamin J. Sloan) writes:
>This week's (ending April 20) edition of MacWeek magazine makes mention of an
>XCFN called 'dragRECT' for use in making scroll bars in HyperCard.  Does
>anyone know of such an XFCN and/or how one might obtain it?
>

What exactly are you trying to do?  I implemented a reasonable scroll
bar using 5 buttons: One each for the top and bottom arrows, one for
the elevator, and one for the scroll bar itself.  On mousedown in the
scroll bar check to see if you've clicked above or below the scroll
box button.  Works fine for my needs.  Performance might be improved
by having a separate button above and below the elevator (which you
resize after each click).

You can also use the scroll bar of a scrolling field, let the user
scroll the field while you "scroll" whatever you want to scroll.
Performance is kinda slow though...

David Finkelstein
Academic Information Resources
Stanford University