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
Image

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