| SecureUser |
| VERBatim - V25 |
| @ATTACK - @Files.System |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisted |
| Background Processing |
| Creating Your Own Background Processes |
| @ATTACK - @Index.Time |
| How Indexes Are Updated |
| Version 3 Technical Highlights - INRECT |
| Version 3 Technical Highlights - Input.Char |
| QTIPS - Calling an Action Bar from a Pulldown Menu |
| Reader's Clinic - Screen Width |
| Screen Grabber |
| Reader's Clinic - Slow Multivalued Screen Display |
| Utility Diskette # 4 |
| QTIPS - DOSTime |
| VERBatim - V11 |
| @ATTACK - @Backgrnd.Time |
| @ATTACK - @Index.Time |
| QTIPS - Time-outs in Windows |
| Reader's Clinic - Functions and Subroutines |
| Reader's Letters - Jim Owen |
| Playing with Scan Codes |
| Argument passing - Subroutines and Functions - Mike Pope |
| Playing with Scan Codes |
| QTIPS - Compiling Protection Code |
| QTIPS - Invalid Code and Command |
| QTIPS - Code/Command Help |
| Compiling 64K on a Shoestring by Blaise Wrenn (LexStat Systems Ltd) |
| QTIPS - @Date.Format |
| @ATTACK - @Date.Format |
| QTIPS - Short Cut Implicit Formatting |
| Utility Diskette # 4 |
| @ATTACK - @CrtHigh |
| @ATTACK - @CrtMaxHigh |
| A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd |
| QTIPS - Inconsistent @Variable Behaviour |
RevMedia FKB
| Document | V4I8A13 |
| Title | QTIPS - Moving Objects the EASY way. |
| Keywords | MOVE.WINDOW MOUSE |
| Text | A system routine of long standing called MOVE WINDOW has really come into its own in version 3 x WITH the advent of mouse control Now that users can drag and drop windows and popups etc WITH a click of the mouse they expect the same functionality of your own pop up calculators calendars and other R/Basic routines Having now seen one developer too many struggle with VSPACE Mouse_Sub and InRect (not to mention the "is the down/up/left/right request outside the CURRENT screen dimensions" problem) the time has finally arrived to document the simple solution (And yes I was once one of those unfortunate developers!) Pre version 3 MOVE WINDOW took six parameters as shown below MOVE WINDOW(X1 Y1 X2 Y2 Image ReturnKeyStroke) These parameters function as follows: X1 X co ord of the top left hand corner of the area to move Y1 Y co ord of the top left hand corner of the area to move X2 X co ord of the bottom right hand corner of the area to move Y2 Y co ord of the bottom right hand corner of the area to move Image The image (as captured by VIDEO RW) of the entire screen excluding the status line This image should be captured BEFORE drawing the OBJECT which you subsequently wish to move Return MOVE WINDOW uses this parameter to pass back to the CALLING program the scan code for the keystroke which was used to exit move mode With ARev version 3 MOVE WINDOW now takes nine parameters MOVE WINDOW(X1 Y1 X2 Y2 MouseX MouseY Image Shadow Mouse) The additional/changed parameters now function as follows: MouseX Normally assigned to null on your own call to MOVE WINDOW this parameter returns the X co ordinate of the mouse at the moment when move mode is terminated in decimal format MouseY As MouseX but (surprise) the Y co ordinate Shadow Passed as true or false If true a border shadow will automatically be drawn at the new position when the move is complete (assuming that your environment is set for shadows) Mouse The final parameter appears to be used by the system to indicate whether a mouse click initiated move mode (true) or whether good old CF8 was used (false) Moving appears to function identically however regardless of this last SETTING For a simple demonstration of the ease and POWER of this routine in ARev 3 simply run the following program click and hold near the top left of the screen and drag away Call Video RW(0 0 @CrtWide 1 @CrtHigh 1 "R" Image) Call Move Window(1 1 25 8 "" "" Image 1 "") (and yes I know Video RW is a function but who can be bothered declaring it in a code snippet!) One final warning obviously AFTER any move operation you'll need to reload the special areas recognised by InRect to reflect the new positioning but this is easily accomplished Wait for the V3 calculator and CALENDAR on UTILITY DISK 5 for full details! (Volume 4 Issue 8 Pages 14 15) |
Page last modified: 31/01/03