From QB64 Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The CLS statement clears the current write page.


CLS [method%] [, bgColor&]


  • method% specifies which parts of the page to clear, and can have one of the following values:
    • CLS    - clears the active graphics or text viewport or the entire text screen and refreshes bottom function KEY ON line.
    • CLS 0 - Clears the entire page of text and graphics. Print cursor is moved to row 1 at column 1.
    • CLS 1 - Clears only the graphics view port. Has no effect for text mode.
    • CLS 2 - Clears only the text view port. The print cursor is moved to the top row of the text view port at column 1.
  • The bgColor& specifies the color attribute or palette index to use when clearing the screen in QB64.


  • In legacy SCREEN modes bgColor& specifies the color attribute of the background.
  • For 32-bit graphics mode, bgColor& specifies the _RGB or _RGBA color to use.
  • 32-bit screen surface backgrounds (black) have zero _ALPHA so that they are transparent when placed over other surfaces.
  • If not specified, bgColor& is assumed to be the current background color. 32-bit backgrounds will change to opaque.
  • If bgColor& is not a valid attribute, an illegal function call error will occur.
  • Use _PRINTMODE to allow the background colors to be visible through the text or the text background.


Example 1: Printing black text on a white background in QB64.

SCREEN 12 CLS , 15 _PRINTMODE _KEEPBACKGROUND 'keeps the text background visible COLOR 0: PRINT "This is black text on a white background!" K$ = INPUT$(1

Explanation: _PRINTMODE can be used with PRINT or _PRINTSTRING to make the text or the text background transparent.

Example 2: You don't need to do anything special to use a .PNG image with alpha/transparency. Here's a simple example:

SCREEN _NEWIMAGE(640, 480, 32) CLS , _RGB(0, 255, 0) i = _LOADIMAGE("qb64_trans.png") 'see note below examples to get the image _PUTIMAGE (0, 0), i 'places image at upper left corner of window w/o stretching it

Explanation: When QB64 loads a .PNG file containing a transparent color, that color will be properly treated as transparent when _PUTIMAGE is used to put it onto another image. You can use a .PNG file containing transparency information in a 256-color screen mode in QB64. CLS sets the _CLEARCOLOR setting using _RGB.

See also

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page