Code: Select all
Procedure SetColor(gadget,color)
format.CHARFORMAT2
format\cbSize = SizeOf(CHARFORMAT2)
format\dwMask = #CFM_COLOR
format\crTextColor = Color
SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format)
EndProcedure
OpenWindow(0, 0, 0, 322, 170, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0, 8, 8, 306, 133)
TextGadget(1, 80, 150, 200, 20, "Right-Click for Text Color options")
TextGadget(2, 10, 150, 50, 20, "Text Color")
CreatePopupMenu(0)
MenuItem(#Red, "Red")
MenuItem(#Yellow, "Yellow")
MenuItem(#Green, "Green")
MenuItem(#Black, "Black")
SetActiveGadget(0)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #WM_RBUTTONUP
DisplayPopupMenu(0, WindowID(0))
Case #PB_Event_Menu
SetColor(0, EventMenu())
SetGadgetColor(2, #PB_Gadget_FrontColor, EventMenu())
EndSelect
Until EventID = #PB_Event_CloseWindow