Last Update : 2008/01/xx
HSPのオブジェクトの表示サイズを指定する命令です。命令名の由来は、「object size」から。オブジェクトは、標準命令で表示できる「ボタン」、「チェックボックス」、「入力ボックス」、「メッセージボックス」、「リストボックス」、「コンボボックス」の全6種。加えて、HSP3ではコントロール(コモンコントロール)を設置するwinobj命令でも反映されます。
objsize X方向サイズ, Y方向サイズ, Y方向確保サイズ
オブジェクトのデフォルトサイズはそれほど大きくありませんので、この命令を使って表示サイズ(ドット単位)を指定しておけば、オブジェクトを設置する時にこのサイズが反映されます。
注意したいのは、この命令はオブジェクトを設置する前段階でのサイズ指定です。オブジェクトを設置した後は、この命令は一切機能しません。clrobj命令後にオブジェクトを再設置する方法もありますが、Win32 API関数を呼ぶことで設置後の変更が実現できます。HSP3ではモジュールファイル「common\obj.hsp」にモジュール命令「resizeobj命令」が用意されてます。
第3パラメータは、次のカレントポジションを変更するためのY方向確保サイズです。
ボタン(button命令)とチェックボックス(chkbox命令)。X方向とY方向のサイズ指定に利用します。
objsize 150, 150 button "ボタン", *jump chkbox "チェック", a *jump
入力ボックス(input命令)とメッセージボックス(mesbox命令)。それぞれの設置命令にサイズ指定のパラメータが用意されており、そちらの数値の方が優先されます。
objsize 150, 150 sdim a input a input a, 200, 20 mesbox a, , , 1 mesbox a, 100, 100, 1
リストボックス(listbox命令)。設置命令にY方向のサイズ指定のパラメータが用意されており、そちらの数値の方が優先されます。基本的にX方向のサイズ指定に利用します。
objsize 100, 50 listbox a, 150, "HSP\n講座"
コンボボックス(combox命令)。設置命令にドロップダウン部分のサイズ指定のパラメータがありますが、コンボボックスそのものの高さサイズは変更できないオブジェクトです。基本的にX方向のサイズ指定に利用します。
objsize 100, 50 combox a, , "HSP\n講座"
最後にobjsize命令の第3パラメータを指定した場合の違いです。通常はオブジェクトの真下に次のオブジェクトが設置されますが、Y方向のサイズが余分に確保されてカレントポジションの値が+方向に増加するため、余白スペースが生まれます。
; objsize命令の第3パラメータ pos 50, 0 objsize 100 repeat 5 chkbox "HSP3 命令!!", a loop pos 200, 0 objsize 100, , 50 repeat 5 chkbox "HSP3 講座!", a loop
HSP3 あれこれ (オブジェクト編)では、オブジェクトに関連した各種命令の一覧表を掲載してます。