質問の意図がよくわからないので推測で回答してみます。
SelectObject 関数 を使用すれば、
ウィンドウに設定された画像をすり替える事が可能です。
boxf
mes
circle
line
等の基本的な描画は出来ますが
bmpsave による画面の保存
gmode のパレットモード
ginfo_sx ginfo_sy 初期化サイズの取得
等の機能を使用するには
bmscr 構造体 に 適切な値を代入する必要が有る事が難点です。(試していないので詳しくは解りません。)
#include "gdi32.as"
#include "user32.as"
// 表示限界をディスプレイのサイズにする。
screen 0,ginfo_dispx,ginfo_dispy,0,,,200,200
onexit *exit
onclick *exit
dim hbm,2 // ビットマップのハンドル
sx=350,250 // ビットマップサイズ
sy=300,200
// 300,300 サイズのビットマップを作成。
CreateCompatibleBitmap hdc,sx,sy:hbm.0=stat
SelectObject hdc,hbm.0
DeleteObject stat // 以前のビットマップObjectが返るので削除しておく。
color ,255:boxf
color :pos 0,0:mes strf("サイズ=%d,%d",sx,sy)
// 200,200 サイズのビットマップを作成。
CreateCompatibleBitmap hdc,sx.1,sy.1:hbm.1=stat
SelectObject hdc,hbm.1
color ,,255:boxf
color 255,255,255:pos 0,0:mes strf("サイズ=%d,%d",sx.1,sy.1)
// 切り替えてみる
*@
i^=1
SelectObject hdc,hbm.i
redraw // 変更を反映するにはredraw 1 を実行する。
width sx.i,sy.i
wait 30
goto*@b
stop
*exit
// 作成したオブジェクトは必ず DeleteObject で破棄する事が基本
DeleteObject hbm
DeleteObject hbm.1
end