Page 1 of 1

Cannot GetGadgetColor [SOLVED]

Posted: Wed Feb 28, 2007 3:33 pm
by SkyManager
When I build up my screen, I want to get the color of one of the gadgets in order to render my image.
However, the GetGadgetColor always returns -1.
Can anybody have alternative to overcome this?
I have tried to GetWindowColor, but with the same result.
WHandle = OpenWindow(#PB_Any, 0, 0, 200, 100, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If (Not WHandle) : End : EndIf
If (Not CreateGadgetList(WindowID(WHandle)) ) : End : EndIf
hBtn = ButtonGadget(#PB_Any, 10, 10, 10, 24, "OK")
Debug GetGadgetColor(hBtn, #PB_Gadget_BackColor)
Repeat : Forever

Posted: Wed Feb 28, 2007 3:56 pm
by Derek
Read the manual for getgadgetcolor().

There is a list of suppoted gadgets, buttongadget() isn't one of them.

Posted: Wed Feb 28, 2007 3:56 pm
by Trond
It returns the colour only if it was set with SetGadgetColor() (read the manual).

To get the colour, try GetSysColor_(#COLOR_3DFACE).

Posted: Wed Feb 28, 2007 5:22 pm
by oridan
Possible combinations GetSysColor_():

Code: Select all

ColorNumber = GetSysColor_(#COLOR_3DDKSHADOW) 
ColorNumber = GetSysColor_(#COLOR_3DFACE) 
ColorNumber = GetSysColor_(#COLOR_3DHILIGHT) 
ColorNumber = GetSysColor_(#COLOR_3DHIGHLIGHT) 
ColorNumber = GetSysColor_(#COLOR_3DLIGHT) 
ColorNumber = GetSysColor_(#COLOR_3DSHADOW) 
ColorNumber = GetSysColor_(#COLOR_ACTIVEBORDER) 
ColorNumber = GetSysColor_(#COLOR_ACTIVECAPTION) 
ColorNumber = GetSysColor_(#COLOR_APPWORKSPACE) 
ColorNumber = GetSysColor_(#COLOR_BACKGROUND) 
ColorNumber = GetSysColor_(#COLOR_BTNFACE) 
ColorNumber = GetSysColor_(#COLOR_BTNHIGHLIGHT) 
ColorNumber = GetSysColor_(#COLOR_BTNHILIGHT) 
ColorNumber = GetSysColor_(#COLOR_BTNSHADOW) 
ColorNumber = GetSysColor_(#COLOR_BTNTEXT) 
ColorNumber = GetSysColor_(#COLOR_CAPTIONTEXT) 
ColorNumber = GetSysColor_(#COLOR_DESKTOP) 
ColorNumber = GetSysColor_(#COLOR_GRAYTEXT) 
ColorNumber = GetSysColor_(#COLOR_HIGHLIGHT) 
ColorNumber = GetSysColor_(#COLOR_HIGHLIGHTTEXT) 
ColorNumber = GetSysColor_(#COLOR_INACTIVEBORDER) 
ColorNumber = GetSysColor_(#COLOR_INACTIVECAPTION) 
ColorNumber = GetSysColor_(#COLOR_INACTIVECAPTIONTEXT) 
ColorNumber = GetSysColor_(#COLOR_INFOBK) 
ColorNumber = GetSysColor_(#COLOR_INFOTEXT) 
ColorNumber = GetSysColor_(#COLOR_MENU) 
ColorNumber = GetSysColor_(#COLOR_MENUTEXT) 
ColorNumber = GetSysColor_(#COLOR_SCROLLBAR) 
ColorNumber = GetSysColor_(#COLOR_WINDOW) 
ColorNumber = GetSysColor_(#COLOR_WINDOWFRAME) 
ColorNumber = GetSysColor_(#COLOR_WINDOWTEXT) 
ColorNumber = GetSysColor_(#COLORONCOLOR)

Posted: Thu Mar 01, 2007 12:13 am
by SkyManager
This really helps
Thanks a lot
:lol: