HSPが管理しているウィンドウのさまざまな情報が格納されます。この構造体のデータは、mref命令を用いて取得することができます。
#define objkazz 64 typedef struct BMSCR { // Bitmap buffer structure // int flag; // used flag int sx; // X-size int sy; // Y-size int palmode; // palmode HDC hdc; // buffer HDC BYTE *pBit; // bitmap pointer BITMAPINFOHEADER *pbi; // infoheader HBITMAP dib; // bitmap handle(DIB) HBITMAP old; // bitmap handle(OLD) RGBQUAD *pal; // palette table HPALETTE hpal; // palette handle HPALETTE holdpal; // palette handle (old) int pals; // palette entries HWND hwnd; // window handle HANDLE hInst; // Instance of program int infsize; // *pbi alloc memory size int bmpsize; // *pBit alloc memory size // Window object setting // int type; // setting type int wid; // window ID short fl_dispw; // display window flag short fl_udraw; // update draw window int wx,wy,wchg; // actual window size x,y int xx,yy; // buffer view point x,y int lx,ly; // buffer view size x,y int cx,cy; // object cursor x,y int ox,oy,py; // object size x,y,py int texty; // text Y-axis size int gx,gy,gmode; // gcopy size HBRUSH hbr; // BRUSH handle HPEN hpn; // PEN handle HFONT hfont; // FONT handle HFONT holdfon; // FONT handle (old) COLORREF color; // text color code HANDLE hCld[objkazz]; // buttonのhandle int owid[objkazz]; // buttonのjump ID int owb; // handleのindex int textspeed; // slow text speed int cx2,cy2; // slow text cursor x,y int tex,tey; // slow text limit x,y char *prtmes; // slow message ptr } BMSCR;
BMSCR構造体が管理する画面が使用されているかどうかのフラグです。1 (TRUE) なら初期化済み、0 (FLASE) なら初期化されていません。
初期化した画面のサイズです。
ウィンドウがパレットモードかどうかを示す値が格納されます。1ならパレットモード、0ならフルカラーモードであることを示します。
画面のデバイスコンテキストが格納されています。このハンドルを使って GDI 関数で画面に描画することが可能です。注意しなければならないのは、これはメモリ上のビットマップへのデバイスコンテキストだということです。ここに描画をしても、実際のウインドゥ画面上では何の変化も起こりません。実際のウインドゥ画面に変更を反映させるためには、HSPのredraw命令などを使用して再描画を行なうか、GetDC命令で実際のウインドゥへのデバイスコンテキストを取得して描画する必要があります。
画面のビットマップデータが格納されているメモリブロックの先頭アドレスです。このポインタを使って直接、画面にデータを書き込むことが可能です。
画面データを管理するビットマップについての情報が格納されたBITMAPINFOHEADER 構造体へポインタです。
画面データを管理するビットマップ(DIB)のハンドルです。
内部で使用されます。このメンバを参照してはいけません。
パレットテーブルへのポインタです。
パレットハンドルです。
内部で使用されます。このメンバを参照してはいけません。
パレットエントリです。
画面のウィンドウハンドルです。
ウインドゥを管理するプログラムのインスタンスハンドルです。
pbi メンバ指すメモリ使用量を示すワークです。
pBit メンバ指すメモリ使用量を示すワークです。
画面の属性を示します。以下の値のいずれかになります。
ウィンドウIDを示します。
画面がウインドゥとして表示されているかどうかを示すフラグです。
画面の更新が必要かどうかを示すフラグです。
スクロールバーによってスクロールが可能なウインドゥでの表示ウインドゥサイズです。
??
転送元の座標です。
スクロールバーによってスクロールが可能なウインドゥで画面内から転送する場合の転送するイメージサイズです。
カレントポジションを示します。
objsize命令で指定されているオブジェクトの大きさを示します。
カレントポジションをY方向へ増加する際のドット数になります。
現在選択されている文字フォントのY方向のサイズを示します。
gmode命令で指定した画面コピー時のサイズを示します。
gmode命令で指定した画面コピー時のモードを示します。
color命令で指定した色によるブラシを示すオブジェクトのハンドルです。
color命令で指定した色によるペンを示すオブジェクトのハンドルです。
color命令で指定した色データを示します。
画面上に配置するHSPのオブジェクト(ボタンや入力ボックスなど) のハンドルです。
画面上に配置するHSPのオブジェクト(ボタンや入力ボックスなど) の各種情報が格納されます。
現在表示されているHSPのオブジェクトの個数を示します。
text命令で指定したテキストの表示スピードを示します。
ゆっくりと文字列を表示する際に内部で使用されるデータが格納されます。
HSP変数 | メンバ | ||
---|---|---|---|
メンバ名 | オフセット | サイズ | |
bmscr.0 | flag | 0 | 4 |
bmscr.1 | sx | 4 | 4 |
bmscr.2 | sy | 8 | 4 |
bmscr.3 | palmode | 12 | 4 |
bmscr.4 | hdc | 16 | 4 |
bmscr.5 | pBit | 20 | 4 |
bmscr.6 | pbi | 24 | 4 |
bmscr.7 | dib | 28 | 4 |
bmscr.8 | old | 32 | 4 |
bmscr.9 | pal | 36 | 4 |
bmscr.10 | hpal | 40 | 4 |
bmscr.11 | holdpal | 44 | 4 |
bmscr.12 | pals | 48 | 4 |
bmscr.13 | hwnd | 52 | 4 |
bmscr.14 | hInst | 56 | 4 |
bmscr.15 | infsize | 60 | 4 |
bmscr.16 | bmpsize | 64 | 4 |
bmscr.17 | type | 68 | 4 |
bmscr.18 | wid | 72 | 4 |
bmscr.19 | fl_dispw | 76 | 2 |
fl_udraw | 78 | 2 | |
bmscr.20 | wx | 80 | 4 |
bmscr.21 | wy | 84 | 4 |
bmscr.22 | wchg | 88 | 4 |
bmscr.23 | xx | 92 | 4 |
bmscr.24 | yy | 96 | 4 |
bmscr.25 | lx | 100 | 4 |
bmscr.26 | ly | 104 | 4 |
bmscr.27 | cx | 108 | 4 |
bmscr.28 | cy | 112 | 4 |
bmscr.29 | ox | 116 | 4 |
bmscr.30 | oy | 120 | 4 |
bmscr.31 | py | 124 | 4 |
bmscr.32 | texty | 128 | 4 |
bmscr.33 | gx | 132 | 4 |
bmscr.34 | gy | 136 | 4 |
bmscr.35 | gmode | 140 | 4 |
bmscr.36 | hbr | 144 | 4 |
bmscr.37 | hpn | 148 | 4 |
bmscr.38 | hfont | 152 | 4 |
bmscr.39 | holdfon | 156 | 4 |
bmscr.40 | color | 160 | 4 |
bmscr.41 | hCld[0] | 164 | 4 |
… | … | … | … |
bmscr.104 | hCld[63] | 416 | 4 |
bmscr.105 | owid[0] | 420 | 4 |
… | … | … | … |
bmscr.168 | owid[63] | 672 | 4 |
bmscr.169 | owb | 676 | 4 |
bmscr.170 | textspeed | 680 | 4 |
bmscr.171 | cx2 | 684 | 4 |
bmscr.172 | cy2 | 688 | 4 |
bmscr.173 | tex | 692 | 4 |
bmscr.174 | tey | 696 | 4 |
bmscr.175 | prtmes | 700 | 4 |