that works for me.let us know.
set window on
set window layout 0,0,1
set display mode 640,480,32
load image "highlight.bmp",1
rem delcaring sprite varaibles for easier reading and programming
browser=11
checka=12
checkb=20
drvlst=13
scroll=14
mainbar=15
MOUSEP=2
mousel=16
background=3
load image "file browser.bmp",browser
load image "check.bmp",checka
rem drvl
create bitmap drvlst,261,70
INK RGB(1,15,3),0
BOX 0,20,261,70
ink RGB(255,255,255),0
box 1,21,260,69
get image drvlst,0,0,261,70
rem end drvlst
load image "scroll bar.bmp",scroll
load image "main bar.bmp",mainbar
LOAD IMAGE "MOUSE.BMP",mousel
get image mousep,0,0,1,1
set text font "arial"
set text size 10
rem background
create bitmap 2,455,339
ink rgb (255,255,255),0
box 0,0,455,339
get image background,0,0,455,339
rem highlight sprite
rem SET UP SPRITES
sprite mainbar,10,329,mainbar
set sprite priority mainbar,14
hide sprite mainbar
sprite scroll,27,330,scroll
hide sprite scroll
set sprite priority scroll,15
rem top check
sprite checka,252,38,checka
hide sprite checka
rem Bottom Check
SPRITE checkb,333,359,checka
HIDE SPRITE checkb
rem **************************************************
set dir "c:\program files"
k=20
do
SET CURRENT BITMAP 0
set sprite priority checka,12
set sprite priority checkb,13
rem background
paste image background,9,66,100
if b>60
show sprite mainbar
show sprite scroll
endif
ink RGB(1,1,1),0
rem sets each row to start 72 px for the top cause sprite is covering top
a4=72
a5=72
a6=72
a7=72
a8=72
a10=72
a11=72
a12=72
a13=72
rem starting the checklist
rem and setting the cursor to print 20 lins at a time inc xpost 170 and line spacing 12px same as font size
perform checklist for files
el=checklist quantity()
find first
b=checklist quantity()
for a=1 to b
find next
at=get file type()
if a <=20
set cursor 10+k,a4
inc a4,12
endif
if a > 20
set cursor 180+k,a5
inc a5,12
endif
if a > 40
set cursor 350+k,a6
inc a6,12
endif
if a > 60
set cursor 520+k,a7
inc a7,12
endif
if a > 80
set cursor 690+k,a8
inc a8,12
endif
if a > 100
set cursor 860+k,a10
inc a10,12
endif
if a > 120
set cursor 1030+k,a11
inc a11,12
endif
if a > 140
set cursor 1200+k,a12
inc a12,12
endif
rem ******************************************************************
a9=checklist value a(a)
rem endif this code below is what actually prints the checklist on the screen. It will check and see if
rem if the string /file name is longer than 170 px or 28 character and reduce it so it fitst properly.
rem it also makes sure if it is a directory that it has extension .dir on it else it prints the normal file name
rem and extension if the file name is longer than 170 it adds ... and dir to it.
rem it servers no purpose in the acutal progam as of now exepct to let me know if a file is a dir for testing purpoes
if text width (checklist string$(a)) > 170
print left$(checklist string$(a),28)+"...."
if at=1
print left$(checklist string$(a),28)+".dir"
endif
else
if at=1
print checklist string$(a)+".dir"
else
print checklist string$(a)
endif
endif
next a
rem setinng 2 sprites at mouse current pos
rem 1 for scrolling 1 for pin pointing
rem and showing/hiding sprites when hit
sprite mousep,mousex(),mousey(),mousep
sprite mousel,mousex(),mousey(),mousel
rem checka sprite
if sprite collision (mousep,checka)=1
show sprite checka
else hide sprite checka
endif
if sprite collision (mousep,checka)=1 and mouseclick()=1
sprite drvlst,8,39,drvlst
SET SPRITE PRIORITY drvlst,25
endif
IF SPRITE COLLISION (mousep,drvlst)=1
show sprite drvlst
else
if sprite exist (drvlst)=1
delete sprite drvlst
ENDIF
endif
if sprite collision (mousep,checkb)=1
show sprite checkb
else hide sprite checkb
endif
sprite browser,0,0,browser
set sprite priority browser,browser
rem
rem keeping scroll sprite from going off the page
stop=337+sprite x(scroll)-sprite x(scroll)
end=27-sprite x(scroll)+sprite x(scroll)
if sprite x (scroll) < 27
sprite scroll,end,330,scroll
endif
if sprite x (scroll) >337
sprite scroll,stop,330,scroll
endif
if sprite collision (mousel,scroll)=1 and mouseclick()=1
sprite scroll,mousex(),330,scroll
if escapekey()=1
endif
endif
rem page movment
rem this is for scrolling of the text
rem it will scroll -170 px to the left for each row of "20 lines of text" divided
rem buy the width of the bar and ho many total rows of text the
page= (int(b/20))
k=0
for r = 1 to page
if sprite x(scroll) > 710/r
inc k,r/r+-170
endif
next r
rem checkling to see witch row we are currently on
rem checks up to 8 rows * 20 files per row = 160 files total at the moment
if k=0
g=0
endif
IF k= -169
G=20
ENDIF
IF k= -338
G=40
ENDIF
IF k= -507
G=60
ENDIF
IF k= -676
G=80
ENDIF
IF k= -845
g=100
ENDIF
IF k= -1014
g=120
ENDIF
IF k= -1183
g=140
ENDIF
IF k= -1352
g=160
ENDIF
rem getting mouse position
line=mousey()/12-5
rem
rem first if statement set so when drvlst menu drops down it doesnt interfere with selecting...
rem checklist items.
if sprite collision (mousep,drvlst)=0
rem prints current checklist when mouse is clicked and hilights current one with sprite
rem tells what row is being clicked and where the mouse is on that row
rem 1st columb
if mouseclick()=1 and mousex() < 180 and mousey()<312 and mousey() >71
hh=text width (checklist string$(line+g))
sprite 1,10,line*12+60,1
set sprite alpha 1,50
set sprite priority 1,100
size sprite 1,hh+16,12
rem print text
clic$=checklist string$(line+G)
endif
rem 2nd columb
if mouseclick()=1 and mousex()>180 and mousex()< 350 and mousey()<312 and mousey() >71
rr=text width (checklist string$(line+20+g))
sprite 1,180,line*12+60,1
set sprite alpha 1,50
set sprite priority 1,100
size sprite 1,rr+16,12
rem prints text
clic$=checklist string$(line+20+G)
endif
rem 3rd columb
if mouseclick()=1 and mousex() >=350 and mousex()<455 and mousey()<312 and mousey() >71
tt=text width (checklist string$(line+40+g))
sprite 1,350,line*12+60,1
size sprite 1,tt+16,12
set sprite alpha 1,80
set sprite priority 1,100
rem prints text
clic$=checklist string$(line+40+G)
endif
endif
rem tried to do set dir clic$ but didn't work
text 110,362,clic$
loop