[futurebasic] SlideIndex

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : November 2001 : Group Archive : Group : All Groups

From: SVANVOORST@...
Date: Sun, 25 Nov 2001 20:50:13 EST
Slide Index demo follows:

'---------- Start FB^3 Code --------

Include "Tlbx Appearance.Incl"

dim wndPtr as pointer
dim sliderH as handle
dim btnSelect% as int
end globals

local
dim j,k
dim left%
dim top%
dim id%
dim btnType%
dim btnRect as rect
dim bevelH as handle
LOCAL FN btnGrid(l%,t%,w%,h%,col%,row%,vg%,hg%)
id% = 1
FOR k = 0 TO row%-1 'Build by row
FOR j = 0 TO col%-1
left% = l%+j*(w%+vg%)
top%  = t%+k*(h%+hg%)
SETRECT(btnRect,left%,top%,left%+w%,top%+h%)
btnType% = _kControlBevelButtonLargeBevelProc
bevelH = FN 
NEWCONTROL(wndPtr,@btnRect,chr$(64+id%),_True,0,0x0200,0,btnType%,65536*id%)
INC(id%)
NEXT j
next k
END Fn

local
dim sliderRect as rect
dim err
LOCAL FN buildWnd
WINDOW#-1,"SlideIndex.demo",(0,0)-(580,150),_docNoGrow
wndPtr = window(_wndPointer)
text _sysFont, 12, 0
edit field#1,"",(275,100)-(300,118),_statFramed,_centerJust
err = FN 
SetThemeWindowBackground(wndPtr,_kThemeActiveDialogBackgroundBrush,_true)
setrect(sliderRect,30,40,550,80)
sliderH = fn newcontrol(wndPtr,sliderRect,"",_true,2
6,1,26,_kControlSliderProc+6,65536*30)
fn btnGrid(30,30,20,20,26,1,0,0)
button#35,_activeBtn,"Quit",(490,110)-(550,130),_shadow
btnSelect% = 1: scroll button#1,_markedBtn'Start with A
edit$(1) = chr$(64+btnSelect%)'Display "A"
window#1
END FN

local
dim evnt%
dim id%
dim err
dim x as int
LOCAL FN doDialog
evnt% = DIALOG(0)
id% = DIALOG(evnt)
SELECT evnt%
case _wndRefresh
err = fn drawthemeedittextframe(#[tehandle(1)],_true)
case _btnClick
select id%
case 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
button#30,(id%+1)'Reset Slider
for x = 1 to 26
long if x <> id%
button#x,_activeBtn
end if
next
btnSelect% = id%
edit$(1)= chr$(64+btnSelect%)'Display selection
case 30'Slider btn
btnSelect% = fn getctlvalue(sliderH)
scroll button#btnSelect%,_markedBtn
for x = 1 to 26
long if x <> btnSelect%
button#x,_activeBtn
end if
next
edit$(1)= chr$(64+btnSelect%)'Display selection
case 35
end
end select
CASE _wndClose
END
END SELECT
END FN

FN buildWnd
ON DIALOG FN doDialog
DO
HANDLEEVENTS
UNTIL 0

'-------- End of Code --------

Steve Van Voorst