Overall, this is pretty easy
1) the piece that slides up and down = slide.....piece with the hole = back
2) draw slide....draw the back
3) align them ....then group them...lets say this is sheet.999...slide is sheet.1...back is sheet.2
4) at group level...2 ways to accomplish
4a) use props to create a props.cell ( sheet.999!prop.slide (also called shape data)....
cell name = prop.slide...format is list ...
play with it to undrestand...list might be = "open" "mid" "closed".....from here on out prop.slide lets call it slider
read up on prop cells
4b use action cells...1 for close, 1 for mid, 1 for open
actual action.close = setf(getref action.close.checked ), action.close.checked = 1 +
action.mid.checked = 0 + action.open.checked = 0) //read up on action rows
5) select the slide shape (sheet.1) and open shapesheet
6) create a a user cell and lets assume using 4a above......
sheet.1!user.slideY = if(strsame(sheet.999!prop.slide, "open"),1,if(strsame(sheet.999!prop.slide, "mid"), 4,
if(strsame(sheet.999!prop.slide, "close"), 8, NA))))
///this basically creates an offset index for moving the slider up and down...you can play with 1,4,8 as you want
7) in sheet.1!piny = <initial value before all this> + user.slidey*40mm
///should study guard function...guard prevents this value from being changed by UI

get out of all these shapesheets
9) got to shape data and select the slide field...select the list entry you want
if you pick "close", sheet.1 should slide all the way down and close the hole
if you pick "mid", sheet.1 should slide halfway down partially close the hole
if you pick "open:, sheet.1 should be at top and have the hole fully open
Be sure to do all the reading since the devil is in the details....start simple to understand behaviors
(maybe make sure 2 shapes in group move around as you want...then figure out 4) works...then combine the learning)