From Xojo Documentation
Canvases by default are transparent controls, which means the background color shows through. The Transparent property can be set (at design time or runtime) to turn this off/on as needed. An opaque Canvas flickers less on Windows, is more optimized on macOS, and on Linux child controls on Canvases are clipped properly.
Controls placed behind a Canvas, regardless of the Transparent setting, will not be visible through the Canvas.
This code turns Transparent off: