ColorRequest with a Start-Value and a Costum Color-List

Share your advanced PureBasic knowledge/code with the community.
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

ColorRequest with a Start-Value and a Costum Color-List

Post by GPI »

Code: Select all

#CC_ANYCOLOR = $100
#CC_FULLOPEN = $2
#CC_RGBINIT  = $1

Structure CustomColorList
  RGB.L[16]
EndStructure
Procedure ChooseColor(startRGB,*cl.CustomColorList)
  chc.choosecolorAPI
  chc\LStructSize=SizeOf(choosecolorapi)
  chc\hwndOwner=WindowID()
  chc\rgbResult=startRGB
  chc\lpCustColors=*cl
  chc\flags=#CC_ANYCOLOR|#CC_FULLOPEN|#CC_RGBINIT
  If ChooseColor_(@chc)  
    ProcedureReturn chc\rgbResult
  Else
    ProcedureReturn -1
  EndIf
EndProcedure

startColor.CustomColorList
startColor\RGB[0]=RGB(255,128,0)
startColor\RGB[1]=RGB(80,70,60)

choose=ChooseColor(0,@startColor)
Debug Hex(choose)+" "+Str(Red(choose))+" "+Str(Green(choose))+" "+Str(Blue(choose))
ChooseColor(choose,@startColor)
GPI