![]() ![]() SetGadgetColor(#Txt_2, #PB_Gadget_BackColor, GetGadgetColor(#Cont_2, #PB_Gadget_BackColor))ĬheckBoxGadget(#Check_2, 10, 25, 160, 30, "#PB_Auto/#PB_Auto") ![]() If OpenWindow(#MainWindow, X, Y, Width, Height, "Check & Option Color", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered) Procedure Open_Window_0(X = 0, Y = 0, Width = 390, Height = 350) SetWindowTheme_(GadgetID(Gadget), GadgetType(Gadget) While PB_Object_EnumerateNext(PB_Gadget_Objects, GadgetType(Gadget)Ĭase #PB_GadgetType_CheckBox, #PB_GadgetType_Option PB_Object_EnumerateStart(PB_Gadget_Objects) If Gadget #PB_All And Not(IsGadget(Gadget)) : ProcedureReturn : EndIf Procedure CheckOptionColor(Gadget = #PB_All, BackColor = #PB_Auto, TextColor = #PB_Auto) HBrush(Str(BackColor)) = CreateSolidBrush_(BackColor) If Not(FindMapElement(hBrush(), Str(BackColor))) If IsDarkColor(BackColor) : FrontColor = #White : Else : FrontColor = #Black : EndIfįrontColor = PropColor(Str(Gadget))\TextColor If PropColor(Str(Gadget))\TextColor = #PB_Auto If PropColor(Str(Gadget))\BackColor = #PB_AutoīackColor = PropColor(Str(Gadget))\BackColor Protected Gadget, BackColor, FrontColor, hdc If there are used brushes in other windows, they will be recreated ![]() Debug "Delete Map Element Gadget: " + MapKey(PropColor()) If Not(IsGadget(Val(MapKey(PropColor())))) PB_Object_EnumerateNext(PB_Objects, *ID.Integer) For all gadgets with automatic background color and text color use: CheckOptionColor() #PB_Default: to go back to the default system text color RGB() can be used to get a valid color value TextColor: #PB_Auto = White or Black depending on whether the background color is dark or light (Default) #PB_Default = to go back to the default system backgound color BackColor: #PB_Auto = Same as parent container's color (Default) #Gadget: #PB_All = All Option and CheckBox Gadgets (Default) Add: #Window]) to associates a callback to all open windows or for a specific window only Description: Set Background and Text Colors of OptionGadget() and CheckBoxGadget() automatically based on the parent container's color or on the colors passed in parameters CheckOptionColor(#Check2, #White, #Red) "White/Red"ĬheckBoxGadget(#Check3, 180, 100, 140, 30, "Black/Green or Default")ĬheckOptionColor(#Check3, #Black, #Green)ĬheckOptionColor(#Check3, #PB_Default, #PB_Default) Remove PropertiesĬode: Select all. OptionGadget(#Option1, 20, 20, 140, 30, "Black/Yellow")ĬheckOptionColor(#Option1, #Black, #Yellow) SetWindowTheme_(GadgetID(Gadget), #PB_Any, #PB_Any, 340, 150, "Option and CheckBox Color", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) PropColor(Str(Gadget))\TextColor = TextColor PropColor(Str(Gadget))\BackColor = BackColor If BackColor = #PB_Default And TextColor = #PB_DefaultĭeleteMapElement(PropColor(), Str(Gadget)) If GadgetType(Gadget) = #PB_GadgetType_CheckBox Or GadgetType(Gadget) = #PB_GadgetType_Option If Not(IsGadget(Gadget)) : ProcedureReturn : EndIf Procedure CheckOptionColor(Gadget, BackColor = #PB_Default, TextColor = #PB_Default) ProcedureReturn CreateSolidBrush_(PropColor(Str(Gadget))\BackColor) SetTextColor_(wParam, PropColor(Str(Gadget))\TextColor) If FindMapElement(PropColor(), Str(Gadget)) Protected Gadget, Result = #PB_ProcessPureBasicEvents Procedure MainWindow_Callback(hWnd, uMsg, wParam, lParam) ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |