Page 1 of 1

Readonly and/or disable GETs background color

Posted: Thu Aug 04, 2022 7:16 pm
by Enrico Maria Giordano
Dear friends, how can I change the readonly and/or disable GETs background color?

EMG

Re: Readonly and/or disable GETs background color

Posted: Thu Aug 04, 2022 10:24 pm
by cmsoft
Change data
nClrTextDis, nClrPaneDis and lDisColors

Code: Select all | Expand

#include "fivewin.ch"

FUNCTION Main()
local oForm, oSay, oGet, oGet2, nValue := 0, nValue2 := 0, oBot2
DEFINE DIALOG oForm TITLE "Background Disable gets" FROM 05,15 TO 13,70
@ 05,70 GET oGet VAR nValue PICTURE "9999" PIXEL OF oForm RIGHT when(nValue2 = 0)
@ 20,70 GET oGet2 VAR nValue2 PICTURE "9999" PIXEL OF oForm RIGHT
oGet:nClrTextDis := nRgb(0,255,0)
oGet:nClrPaneDis := nRgb(255,0,0)
oGet:lDisColors := .f.
@ 35,40 BUTTON oBot2 PROMPT "&Salir" OF oForm SIZE 30,10 ACTION oForm:End()  PIXEL
ACTIVATE DIALOG oForm CENTER

RETURN nil

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 9:49 am
by Enrico Maria Giordano
Thank you. So we have to color the background during the paint event, right? And "who" exactly give the default COLOR_WINDOW color to the readonly GETs? Is it an internal Windows behaviour that can be change only using paint event?

EMG

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 10:24 am
by Otto
Hello Enrico,

Because I just see you here online I have a question:
Enrico, I am a very satisfied user of your dbf editor.
Is there maybe a newer version.
It would be practical for me if I could adjust the column width.

Best regards,
Otto


EMAGDBU.EXE 595.456 10.03.2011 16:05 -a-

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 10:30 am
by Enrico Maria Giordano
Hi Otto, you can find the latest release on my website, in the download section. And no, it is not possible to adjust the columns width, sorry.

EMG

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 12:49 pm
by cmsoft
Enrico Maria Giordano wrote:Thank you. So we have to color the background during the paint event, right? And "who" exactly give the default COLOR_WINDOW color to the readonly GETs? Is it an internal Windows behaviour that can be change only using paint event?

EMG

Si no se especifica lDisColors en false ni bColor, el color del panel disable lo genera con nClrP := GetSysColor( COLOR_WINDOW )

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 12:55 pm
by Enrico Maria Giordano
cmsoft wrote:Si no se especifica lDisColors en false ni bColor, el color del panel disable lo genera con nClrP := GetSysColor( COLOR_WINDOW )


Yes, but I was referring to the fact that the background color of the readonly GETs is set inside the paint event, if I read the TGet source code correctly. Is it the only way? Or are there other ways to override the defaul readonly color?

EMG

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 1:27 pm
by Horizon
//TGet():bColorBlock := { |oGet| IF( oGet:lFocused, { CLR_WHITE, CLR_HBLUE }, IF( .NOT. oGet:lActive, {CLR_BLACK, CLR_HGRAY}, {CLR_BLACK, CLR_WHITE} )) }
//fix for readonly gets
// TGet():lDisColors := .f.
// TGet():nClrGrayText := 25

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 05, 2022 1:34 pm
by Enrico Maria Giordano
Ok, bColorBlock (actually bColor) is evaluated inside paint event. So this is the only option, it seems. I would like to avoid using paint event.

EMG

Re: Readonly and/or disable GETs background color

Posted: Sat Aug 06, 2022 3:31 pm
by Enrico Maria Giordano
Ok, never mind, it was my fault, sorry. I can change the GETs color (normal, readonly or disabled) with the usual SetColor() function. I forgot to have some code that changed the color back. :-)

EMG

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 11, 2023 7:21 pm
by shrifw
Dear Rao Sir ,

I am not able to set color for READONLY GETs ( WHEN condition ). Could you please share code to set code at global level.

Code: Select all | Expand


  TGet():bColorBlock := { |oGet| IF( oGet:lFocused, { CLR_WHITE, CLR_HBLUE }, IF( .NOT. oGet:lActive, {CLR_BLACK, CLR_HGRAY}, {CLR_BLACK, CLR_WHITE} )) }

@   10,  150  SAY ":" GET aoGET[ 6 ] VAR oAcctRec2:mail_to SIZE 450, C_GETH PIXEL OF oWnd ;
    NOBORDER FONT oApp:oFontGet UPDATE WHEN ( nGrpd == 2 ) 

 
Thanks
Shridhar

Re: Readonly and/or disable GETs background color

Posted: Fri Aug 11, 2023 8:58 pm
by Rick Lipkin
Enrico

Hope this is what you are looking for ...

SetGetColorFocus( rgb(209,224,252) ) // global color for gets

Rick Lipkin

Re: Readonly and/or disable GETs background color

Posted: Sat Aug 12, 2023 12:13 pm
by shrifw
Hi Rick ,

I had tried this SetGetColorFocus but does not work for READONLY GETs .

Thanks
Shridhar

Re: Readonly and/or disable GETs background color

Posted: Sat Aug 12, 2023 3:56 pm
by karinha

Code: Select all | Expand

#Include "Fivewin.Ch"

#Define CLR_SOFTYELLOW nRGB( 255, 251, 225 )

FUNCTION Main()

   LOCAL...
   MEMVAR...
   PRIVATE..
   PUBLIC...


   SetBalloon( .T. )
   SkinButtons()

   SetGetColorFocus( CLR_LGREEN )

   tGet():lDisColors  := .F. // WHEN( .F. )
   tGet():nClrTextDis := CLR_HBLUE
   tGet():nClrPaneDis := CLR_SOFTYELLOW

   // continue...

RETURN NIL
 
Regards, saludos.

Re: Readonly and/or disable GETs background color

Posted: Sat Aug 12, 2023 5:43 pm
by shrifw
Hi Karinha ,

Thanks for this but mine requirement is bit different as given below :

GETs are classified
==================
1. READ/WRITE GET Focus ==> { nRGB(111, 30, 81) , nRGB(245, 235, 147) }
2. READ/WRITE GET Un-Focus ==> { nRGB(43, 43, 43) , nRGB(248, 239, 186) }
3. READONLY GET ==> { nRGB(43, 43, 43) , nRGB(248, 239, 186) }

How we can achieve this ?

Thanks
Shridhar