Bill,

Thx for the quick lesson in SSUB.
I had been using SGET.

Jan

-----Original Message-----
From: Bill Downall <[email protected]>
To: [email protected] (RBASE-L Mailing List)
Date: Thu, 3 Apr 2014 11:48:25 -0400
Subject: [RBASE-L] - RE: Pause positioning query


If precision placement is important to you, you can create a variable form 
(that looks a lot like a pause command), and set a variable for it to 
display as the message.  Some more tools you can use:

-- CVAL('SCREENSIZE') for your total screen dimensions width, height
set var vScreenSize = (cval('screensize'))
set var vScreenWidth = (ssub(.vScreenSize,1))
SET VAR vScreenHeight = (SSUB(.vScreenSize,2))

-- for your underlying form/dialog/process control console:
GETPROPERTY RBASE_FORM LEFT 'varFormLeft'
GETPROPERTY RBASE_FORM TOP 'varFormTop'
GETPROPERTY RBASE_FORM HEIGHT 'varFormHeight'
GETPROPERTY RBASE_FORM WIDTH 'varFormWidth'

-- for your faux PAUSE form:
PROPERTY RBASE_FORM LEFT 'varCalcedPauseLeft'
PROPERTY RBASE_FORM TOP 'varCalcedPauseTop'
PROPERTY RBASE_FORM HEIGHT 'varCalcedPauseHeight'
PROPERTY RBASE_FORM WIDTH 'varCalcedPauseWidth'
On Thu, Apr 3, 2014 at 11:24 AM, Stephen Markson <[email protected] 
[mailto:[email protected]]> wrote:

Alistair, Dennis,

I don’t know if the issue is about centring (Canajun spelling) on the 
screen or a form. Absent the TOP and LEFT OPTIONs, R:Base centres the PAUSE 
on the screen. If you use TOP by itself without the LEFT option (or LEFT by 
itself without the TOP option), you would want the PAUSE centred on the 
other axis. However, this does not happen. Could be a bug.


Regards,

Stephen Markson
The Pharmacy Examining Board of Canada
416.979.2431 x251 [tel:416.979.2431%20x251]

From:[email protected] [mailto:[email protected]] [mailto:[email protected] 
[mailto:[email protected]]] On Behalf OfDennis McGrath
Sent: April-03-14 11:11 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - RE: Pause positioning query
Centering pause commands on a particular form can be an exercise in futility 
because you can’t know the exact height and width of the pause popup 
beforehand.
I’ve gone to doing the following approximation:
1.Use the form TOP, LEFT, WIDTH and HEIGHT to calculate the center of the 
form.
2.Subtract a reasonable amount from that to calculate the top left of the 
popup.

When centering on a particular control it gets lots more complicated..
Basically you have to use the properties of all the containers, starting 
with the form and it’s client area  and drill down to find the exact 
screen location for the control.
It’s lots of detail work to be avoided unless it is absolutely critical.

Dennis McGrath
Software Developer
QMI Security Solutions
1661 Glenlake Ave
Itasca IL 60143
630-980-8461 [tel:630-980-8461]
[email protected] [mailto:[email protected]]
From:[email protected] [mailto:[email protected]] [mailto:[email protected] 
[mailto:[email protected]]] On Behalf OfAlastair Burr
Sent: Thursday, April 03, 2014 4:24 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Pause positioning query

Some time ago I set up some variables to use in the pause command so that I 
could position the display in regular places as well as simply the default 
of central.

As far as I know, top right, top left, bottom right and bottom left work 
fine.

What I want now is top (and bottom) central but I can’t find a way to make 
it work. And, presumably, for left and right central I would simply reverse 
the co-ordinates with appropriate adjustments.

Looking at what I originally set up in my variables I left out whichever one 
was the central parameter, eg: for vPos_Top_Left I use | TOP 10 | LEFT 10 
and for vPos_Top_Centre I thought | TOP 10 | would work.

I do realise that I can position the display “manually” by trial and 
error with the correct number of pixels from the left but is there a way to 
let R:Base do the central positioning automatically?

Any guidance gratefully appreciated.
Regards,
Alastair.

Reply via email to