荒河さんのコメント内の、1番の方法のスクリプトです。
// 文字を表示する最初の座標。
#const tx 20
#const ty 20
;---------------------------------------
#const PUSH_BACKSPACE 0x08
#const PUSH_ENTER 0x0d
#const PUSH_SPACE 0x20
#const PUSH_TAB 0x09
String = ""
onkey gosub *Label_OnKey ; キー入力を受け取る。
stop
*Label_OnKey
title strf("0x%02x" , wparam)
switch wparam
;<----バックスペースが押された場合---->
case PUSH_BACKSPACE
slen = strlen(String)
if slen {
poke String , slen-1 , 0x00
}
swbreak
;<----エンターキーが押された場合---->
case PUSH_ENTER
String += "\n"
swbreak
;<----スペースキーが押された場合---->
case PUSH_SPACE
String += " "
swbreak
;<----タブキーが押された場合---->
case PUSH_TAB
String += "\t"
swbreak
;<----その他のキー---->
default
// 文字列である場合
if ( 'A' <= wparam and 'Z' >= wparam ) or ( '0' <= wparam and '9' >= wparam ){
String += strf("%c" , wparam ) // 大文字処理
swbreak
}
swend
gosub *label_ProcPrintString
return
*label_ProcPrintString
redraw 0
gosub *label_DrawBackGround
gosub *label_DrawString
redraw 1
return
// 背景の更新処理
*label_DrawBackGround
mes "A"
CharSize = ginfo_mesx , ginfo_mesy
color 255,255,255
boxf
return
// 文字列の描画処理
*label_DrawString
color 0,0,0
pos tx,ty : mes string
pos ( tx + ginfo_mesx - CharSize.0 ) , ( ginfo_cy - CharSize.1 +1 )
mes "_"
return
背景が一色である場合は
input または mesbox を使用して作ったオブジェクトを使用するのが無難だと思います。
下のサイトに色の変え方から、枠の消し方、入力制限の方法まで色々載ってます。
>>ttp://lhsp.s206.xrea.com/hsp_object2.html
フォントの変更だけならhsp の標準命令でも出来るみたいです。
objsize ginfo_winx , 30
objmode 2 , 0
font "魚石行書", 30 , 1 | 16
input a
font "MSゴシック" , 10 , 16
input a