Doug
Thanks, learned something new today
Marc
----- Original Message -----
From: Doug Hamilton
To: RBASE-L Mailing List
Sent: Wednesday, February 18, 2009 3:20 PM
Subject: [RBASE-L] - Re: Forms remember screen locations
Marc - I put buttons on the caption bar. A "Save" button stores the left,
top, width and height values in a UserParams table.
3 cols in the table UserParams:
ParamUserID TEXT 16
UserParamName TEXT 24
UserParamValue TEXT 64 (that might be a little long for form coordinates, but
I store other stuff in that col too, e.g. emails addrs)
Each user can store their own size & locations
EEP for "Save" caption button:
SET VAR vTempText TEXT = NULL
GETPROPERTY RBASE_FORM LEFT 'gMainMenuLeft'
UPDATE UserParams SET UserParamValue = .gMainMenuLeft +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuLeft'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuLeft',.gMainMenuLeft)
ENDIF
GETPROPERTY RBASE_FORM TOP 'gMainMenuTop'
UPDATE UserParams SET UserParamValue = .gMainMenuTop +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuTop'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuTop',.gMainMenuTop)
ENDIF
GETPROPERTY RBASE_FORM WIDTH 'gMainMenuWidth'
UPDATE UserParams SET UserParamValue = .gMainMenuWidth +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuWidth'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuWidth',.gMainMenuWidth)
ENDIF
GETPROPERTY RBASE_FORM HEIGHT 'gMainMenuHeight'
UPDATE UserParams SET UserParamValue = .gMainMenuHeight +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'gMainMenuHeight'
IF SQLCODE <> 0 THEN
INSERT INTO +
UserParams (ParamUserID,UserParamName,UserParamValue) +
VALUES (.gUserID,'gMainMenuHeight',.gMainMenuHeight)
ENDIF
RETURN
A "Mine" button restore the screen to the particular user's specs:
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuWidth'
PROPERTY RBASE_FORM WIDTH .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuHeight'
PROPERTY RBASE_FORM HEIGHT .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuLeft'
PROPERTY RBASE_FORM LEFT .vTempText
SELECT UserParamValue INTO vTempText vI +
FROM UserParams +
WHERE ParamUserID = .gUserID AND +
UserParamName = 'MainMenuTop'
PROPERTY RBASE_FORM TOP .vTempText
I also have a button to minimize the form to just the caption bar:
PROPERTY RBASE_FORM HEIGHT 20
PROPERTY RBASE_FORM AUTOSCROLL 'FALSE'
Use can click the "Mine" button to restore the form to their spec.
Doug
MDRD wrote:
Hi
Is there a way for RBase to remember the form size and location
on the screen?
Thanks
Marc