Readonly and/or disable GETs background color

Post Reply
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Readonly and/or disable GETs background color

Post by Enrico Maria Giordano »

Dear friends, how can I change the readonly and/or disable GETs background color?

EMG
User avatar
cmsoft
Posts: 1294
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 1 time

Re: Readonly and/or disable GETs background color

Post 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
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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
User avatar
Otto
Posts: 6396
Joined: Fri Oct 07, 2005 7:07 pm
Has thanked: 8 times
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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-
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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
User avatar
cmsoft
Posts: 1294
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 1 time

Re: Readonly and/or disable GETs background color

Post 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 )
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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
Horizon
Posts: 1323
Joined: Fri May 23, 2008 1:33 pm
Has thanked: 3 times

Re: Readonly and/or disable GETs background color

Post 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
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.04
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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
User avatar
Enrico Maria Giordano
Posts: 8734
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Been thanked: 1 time
Contact:

Re: Readonly and/or disable GETs background color

Post 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
shrifw
Posts: 69
Joined: Fri Aug 28, 2009 5:25 am

Re: Readonly and/or disable GETs background color

Post 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
User avatar
Rick Lipkin
Posts: 2668
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Readonly and/or disable GETs background color

Post by Rick Lipkin »

Enrico

Hope this is what you are looking for ...

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

Rick Lipkin
shrifw
Posts: 69
Joined: Fri Aug 28, 2009 5:25 am

Re: Readonly and/or disable GETs background color

Post by shrifw »

Hi Rick ,

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

Thanks
Shridhar
User avatar
karinha
Posts: 7910
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: Readonly and/or disable GETs background color

Post 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
shrifw
Posts: 69
Joined: Fri Aug 28, 2009 5:25 am

Re: Readonly and/or disable GETs background color

Post 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
Post Reply