Page 1 of 2
TGet: RIGHT clause problem
Posted: Sun Oct 25, 2020 3:34 pm
by Enrico Maria Giordano
Please look at this sample, the edit string is not correctly right aligned using RIGHT clause. Any workaround?
Code: Select all
#include "Fivewin.ch"
FUNCTION MAIN()
LOCAL oDlg
LOCAL cVar := SPACE( 30 )
DEFINE DIALOG oDlg
@ 1, 1 GET cVar RIGHT
@ 3, 1 BUTTON "Close";
ACTION oDlg:End()
ACTIVATE DIALOG oDlg
RETURN NIL
EMG
Re: TGet: RIGHT clause problem
Posted: Sun Oct 25, 2020 9:00 pm
by mauri.menabue
Hi Enrico
for me it's ok
try
Code: Select all
#include "Fivewin.ch"
FUNCTION MAIN()
LOCAL oDlg
LOCAL oFont1
LOCAL oFont2
LOCAL cVar := "FIVEWIN"
DEFINE FONT oFont1 NAME "COURIER NEW" SIZE 0, -11 // NOT PROP.
DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0, -10 // PROP
DEFINE DIALOG oDlg
@ 1, 1 GET cVar RIGHT FONT oFont1
@ 2, 1 GET cVar RIGHT FONT oFont2
@ 3, 1 BUTTON "Close";
ACTION oDlg:End()
ACTIVATE DIALOG oDlg
RELEASE FONT oFont1
RELEASE FONT oFont2
RETURN NIL
Bye
Re: TGet: RIGHT clause problem
Posted: Sun Oct 25, 2020 10:08 pm
by Enrico Maria Giordano
Thank you, but your sample doesn't work right here (latest FWH version).
EMG
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 5:09 am
by Antonio Linares
Dear Enrico,
We are checking it
many thanks for your feedback
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 8:39 am
by Enrico Maria Giordano
Thank you, Master!
EMG
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 12:03 pm
by karinha
Code: Select all
// \samples\enrico99.prg
#include "Fivewin.ch"
FUNCTION MAIN()
LOCAL oDlg, aGet := ARRAY(5), oFont, oFnt
LOCAL cVar := "ENRICO MARIA Right..." // SPACE( 30 )
LOCAL cVar2 := "GIORDANO DE ITALIA..."
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, 14 BOLD
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD
DEFINE DIALOG oDlg
oDlg:lHelpIcon := .F.
@ 1, 1 GET aGet[1] VAR cVar PICTURE "@K!" SIZE 090, 10 FONT oFnt RIGHT
@ 2, 1 GET aGet[2] VAR cVar2 PICTURE "@K!" SIZE 090, 10 FONT oFnt // LEFT
@ 3, 1 BUTTON "Close";
ACTION oDlg:End()
ACTIVATE DIALOG oDlg
oFont:End()
oFnt:End()
RETURN NIL
Regards.
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 1:34 pm
by Enrico Maria Giordano
Please, try to write something in the RIGHT aligned GET and you'll see the problem.
EMG
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 5:04 pm
by nageswaragunupudi
Test Program:
Code: Select all
#include "Fivewin.ch"
function main()
local oDlg, oFont
local cVar1 := PAD( "FiveTech Soft, Spain", 20 )
local cVar2 := PAD( "Hello World", 20 )
SetGetColorFocus()
DEFINE FONT oFont NAME "Courier New" SIZE 0,-20
DEFINE DIALOG oDlg SIZE 450,150 PIXEL TRUEPIXEL FONT oFont TITLE FWVERSION
@ 20, 20 GET cVar1 SIZE 410,26 PIXEL OF oDlg RIGHT
@ 50, 20 GET cVar2 SIZE 410,26 PIXEL OF oDlg RIGHT
@ 90, 20 BUTTON "Close" SIZE 100,40 PIXEL OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
return nil
The text (including the spaces) is right-aligned in the Gets.
This is the behaviour in all previous versions of FWH.
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 5:21 pm
by karinha
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 6:20 pm
by Enrico Maria Giordano
Sorry, I thought that RIGHT worked like ES_RIGHT, but it's not.
EMG
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 8:20 pm
by nageswaragunupudi
Both these Gets have ES_RIGHT style and this is how Windows displays text with trailing spaces with this style. Does not "trim" the string and then right-align the trimmed string.
However, we can think of an enhancement by trimming the string and right-align when the Get does not have focus. Just thinking ...
Whether Windows does it or not, we can still do it if we like.
Re: TGet: RIGHT clause problem
Posted: Mon Oct 26, 2020 9:26 pm
by Enrico Maria Giordano
Ok, all is clear now. I missed the trailing spaces, sorry.
EMG
Re: TGet: RIGHT clause problem
Posted: Tue Oct 27, 2020 6:51 am
by nageswaragunupudi
To get the effect what we like, ignoring the trailing spaces, please try EDIT control instead of GET control.
Please try this sample:
Code: Select all
#include "Fivewin.ch"
function Main()
local oDlg, oFont, oGet1, oGet2
local cVar1 := PAD( "123", 10 )
local cVar2 := PAD( "12345", 15 )
DEFINE FONT oFont NAME "Courier New" SIZE 0,-20
DEFINE DIALOG oDlg SIZE 450,150 PIXEL TRUEPIXEL FONT oFont TITLE FWVERSION
@ 20, 20 EDIT oGet1 VAR cVar1 SIZE 410,26 PIXEL OF oDlg RIGHT LIMITTEXT
oGet1:bGotFocus := { || oGet1:SetColor( CLR_BLACK, RGB( 235, 235, 145 ) ) }
oGet1:bLostFocus := { || oGet1:SetColor( CLR_BLACK, CLR_WHITE ) }
@ 50, 20 EDIT oGet2 VAR cVar2 SIZE 410,26 PIXEL OF oDlg RIGHT LIMITTEXT
oGet2:bGotFocus := { || oGet2:SetColor( CLR_BLACK, RGB( 235, 235, 145 ) ) }
oGet2:bLostFocus := { || oGet2:SetColor( CLR_BLACK, CLR_WHITE ) }
@ 90, 20 BUTTON "Close" SIZE 100,40 PIXEL OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
cVar1 := PAD( cVar1, 10 )
cVar2 := PAD( cVar2, 15 )
return nil
Re: TGet: RIGHT clause problem
Posted: Tue Oct 27, 2020 8:48 am
by Enrico Maria Giordano
Thank you, Rao.
EMG
Re: TGet: RIGHT clause problem
Posted: Thu Oct 29, 2020 12:13 am
by mauri.menabue
hi Mr. Rao
But with EDIT does not work up / down arrow to leave control only TAB or RETURN.
Bye