HSPのウィンドウ上に文字列を描画表示する命令といえば、ユーザーなら誰もが知っとる超ベーシックなmes命令(print命令)です。これは文字列が必ず左寄りに描画されます。
もし、文字列の長さに関わらず、常に中央、あるいは右寄りに描画させたい場合は、Win32 API関数の「DrawText関数」(MSDN)を利用します。
第1パラはディバイスコンテキスト値を指定します。HSPのシステム変数hdcを指定してください。第2パラは描画する文字列です。第3パラは文字数ですが、-1を指定しとけばOK。
第4パラは文字を描画する範囲を指定するRECT構造体です。簡単に言ってしまえば、boxf命令にあるパラメータと同じような座標位置です。第5パラが表示オプションです。ここで中央表示、右寄り表示を指定します。
#include "user32.as"
#define DT_LEFT $00
#define DT_CENTER $01
#define DT_RIGHT $02lpString = "あははのは~\nLet's HSP!\n文字列"
font "MS Pゴシック", 25, 1 | 16
color $FF
boxf 50, 50, 250, 150color $FF, $FF, $FF
RECT = 50, 50, 250, 150
DrawText hdc, lpString, -1, varptr(RECT), DT_CENTERcolor , $FF
boxf 50, 150, 250, 250color $FF, $FF, $FF
RECT = 50, 150, 250, 250
DrawText hdc, lpString, -1, varptr(RECT), DT_RIGHTredraw
標準のcolor命令(文字色)やfont命令(フォント)も反映されます。最後に、redraw命令で再描画すると実際に反映されます。