What you want to do is create a seperate bitmap, then do all your drawing operations on that instead of on the screen, then you want to get an image from that, and use the transparency flag so that you don't draw the new bitmap's background...
Better explained in code;
Sync On : Sync Rate 0
`Simple variables
sw = Screen Width()
sh = Screen Height()
`Creates a new bitmap... the bitmap where all drawing operations should be directed
Create Bitmap 1,sw,sh
`Makes sure that all drawing operations go to the new bitmap
Set Current Bitmap 1
`Clears the background of the bitmap to black
Ink 0,0
Box 0,0,sw,sh
`Set's the ink back to white
Ink RGB(255,255,255),0
`Draws a simple box to the bitmap
Box 200,50,500,300
`Get's an image of the bitmap so it can be pasted to the screen
Get Image 1,0,0,sw,sh
`Set's drawing to the screen, and pastes the image
Set Current Bitmap 0
Paste Image 1,0,0
`Just a simple pause
While InKey$() <> "r"
Text 0,0,"Press 'r' To Change BackGround To Red"
Sync
EndWhile
`Clears the screen to red ( Note I didn't change the bitmap back to 1
`as we want the background of the screen image to be red, not the bitmap
Cls RGB(255,0,0)
`Re-pastes the image to the screen
`with the transparency flag set to 0 so that black desn't get drawn.
Paste Image 1,0,0,1
`Another simple pause
While InKey$() <> "e"
Text 0,0,"Press 'e' To End"
Sync
EndWhile
End
Hope I Helped...
Jess.
PS, also, you could use Sprites, one for the background, and one for the foreground, and have the foreground one have transparency for black set to 1 also.

Team EOD :: Programmer/Logical Engineer/All-Round Nice Guy