SecureUser
VERBatim - V25
@ATTACK - @Files.System
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
REVMEDIA Revisted
Utility Diskette # 3 - Part I
QTIPS - Moving Objects the EASY way.
Window or Not ?
Vroom - Window Processing
QTIPS - Window Symbol Tables
VROOM - Window Processing II
@ATTACK - @HW
Uncommon Knowledge - WC_Reset%
Reader's Clinic - Related Windows
Window or Not?
Reader's Clinic - Scribe Replace Processes in Window
Soft Windows
QTIPS - Window Bug and Debugging Window Bug
Overlapping Windows And Window Menus
QTIPS - New Catalyst Option
QTIPS - Collectors on the fly
QTIPS - Blank Menus in Windows
QTIPS - Moving Objects the EASY way.
QTIPS - Use of Mouse
Advanced Revelation Assembler Interface Module - Yves Pattyn, Technical Manager, Distribase, France
Version 3 Technical Highlights - Input.Char
QTIPS - Moving Objects the EASY way.
Background Processing
Creating Your Own Background Processes
@ATTACK - @Index.Time
How Indexes Are Updated
Collector Windows
QTIPS - Reusing Symbolics in Windows
VERBatim - V25
REVMEDIA Revisted
QTIPS - Code/Command Help
QTIPS - Improving the Message Window
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
Set_Attach_Sub and Attach images
Reader's Clinic - Functions and Subroutines
Reader's Letters - Jim Owen
Playing with Scan Codes
Argument passing - Subroutines and Functions - Mike Pope
Flashing Background
Message
VERBatim - V41
Screen Grabber
Window or Not ?
Popups
Play it Again, Cam
QTIPS - Video.Rw
Window or Not?
Uncommon Knowledge - WC_Vprev%
Uncommon Knowledge - WC_VWindow%
QTIPS - Query Windows - Changing Colours
Video Control
Version 3 Technical Highlights - Input.Char
Version 2
Directory Exists on Novell
Gas Bar
Prompt Help
DOS Interfacing (Part II)
@ATTACK - @Help.Level
@ATTACK - @StatList
QTIPS - Standardising Error Message Display
Video Control
Customising the Status Line
QTIPS - Command Line Options
Customising the Status Line
Playing with Scan Codes
Utility Diskette # 3 - Part I
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)
VERBatim - V39
Esc.To.Exit
VERBatim - V2
Viewer
@ATTACK - @Browse.Mode
@ATTACK - @File.Error.Mode
@ATTACK - @Macro.Mode
QTIPS - Using INIT.VIEW with Printers
@ATTACK - @Scroll.Mode
@ATTACK - @View.Mode
QUERY.SUB
What's New (and un(der)documented!) In 2.12
A RevTI Techie Replies - Mike Pope - Revelation Technologies (UK) Ltd
RTP Series - RTP42
RTP Series - RTP51
Reader's Clinic - AREV Runtime
@ATTACK - @PDisk.On
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
AREV Comes to Czechoslovakia Les Palenik, Cosmotron Systems
@ATTACK - @Modal
Reader's Clinic - Scaled Masked Decimal Conversions
QTIPS - @Date.Format
@ATTACK - @Date.Format
QTIPS - Short Cut Implicit Formatting
Utility Diskette # 4
QTIPS - Testing For Boolean False
QTIPS - Border.Colour
Version 3 Technical Highlights - Input.Char
QTIPS - Border.Up
Reader's Clinic - Screen Width
VERBatim - V41
QTIPS - Testing For Boolean False
RTP Series - RTP27
QTIPS - Printing Large Variables from the Debugger
VERBatim - V87
@ATTACK - @CrtWide
@ATTACK - @CrtHigh
@ATTACK - @CrtMaxHigh
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
QTIPS - Inconsistent @Variable Behaviour

RevMedia FKB

DocumentV4I8A13
TitleQTIPS - Moving Objects the EASY way.
KeywordsMOVE.WINDOW
MOUSE
TextA 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)
[revmedia/copyrigh.htm]

Page last modified: 31/01/03