CP - Alien Breed Remake - 5

Miscellaneous Forums/Blitz Showcase/CP - Alien Breed Remake - 5

Don't know if this will help, it's from my own gui thingy. You send the options as a | seperated list. No scrolling though.

Function list(x,y,width,height,options$,value)
Color 210,210,210
Rect x,y,width,height,True

Color clip(gui_r-gui_contrast),clip(gui_g-gui_contrast),clip(gui_b-gui_contrast)
Line x,y,x+width,y
Line x,y,x,y+height
Color clip(gui_r+gui_contrast),clip(gui_g+gui_contrast),clip(gui_b+gui_contrast)
Line x+width,y,x+width,y+height
Line x,y+height,x+width,y+height

Color 0,0,0
Viewport x,y,width,height

ret_value=-1
			yy=0
			pos=1
			selection=0
			Repeat
				comma=Instr(options,"|",pos)
				v$=Mid$(options,pos,comma-pos)
				If selection=value Then Color 150,150,150:Rect x+1,(y+1)+yy,width-1,16,True
				
				Color 0,0,0
				If RectsOverlap (x+1,(y+1)+yy,width-1,14,MouseX(),MouseY(),1,1) And RectsOverlap (x,y,width,height,MouseX(),MouseY(),1,1)
					Rect x+1,(y+1)+yy,width-1,16,True
					Color 210,210,210
					If MouseDown(1) Then ret_value=selection:gui_click=True
					EndIf
				Text x+4,(y+2)+yy,v$	
				pos=comma+1
				yy=yy+14
				selection=selection+1
				Until comma=0

Viewport 0,0,GraphicsWidth(),GraphicsHeight()				
If ret_value>-1 Then Return ret_value Else Return value

End Function