HSP | スクロールバーつきウィンドウ (2) | 簡単?

HSP | スクロールバーつきウィンドウ (2) | 簡単?

#packopt hide 1

#ifdef _debug
gsel 0, -1
#endif

#include "user32.as"

// スクロールバーつきウィンドウ
screen 1

SystemParametersInfo 104, 0, varptr(ScrollLines), 0 // SPI_GETWHEELSCROLLLINES
ScrollBar 8 * 40, 18 * 13, 8, 18, 3, ScrollLines

// 画像作成
color 0x00, 0xFF, 0xFF
boxf 0, 0, 8 * 40 - 1, 18 * 13 - 1

color 0xFF, 0xFF, 0xFF
boxf 8, 18, 8 * 39 - 1, 18 * 12 - 1

font "MS Gothic", 16

color 0x00, 0x00, 0xFF
pos 8 + 1, 18 + 1 : mes "test"

ID 0 のウィンドウのウィンドウスタイルを変更してサイズ可変にすると、HSP 内部で行っている サイズ の管理に誤差が生じ、都合が悪いので、ID 1 以降を使うことにします。
また、実行ファイル作成時は「#packopt hide 1」で ID 0 を非表示にできますが、デバッグ時はそれができないので、「gsel 0, -1」で対処することにします。デバッグモードかどうかを確認するため、「_debug」マクロの定義を確認します。
マウスホイール時の行数は Windows 側で設定できるので、「SystemParametersInfo」関数で取得します。
あと、ここではあまり関係ありませんが、"MS Gothic" で フォントサイズ 16 にし、文字列の Y 座標に 1 足すと、幅 8 のスペースにすっぽり収まるので、そのつもりで画像表示しています。
それではまたいつか~。
↓ブログランキング投票お願いします~。