; ; HSP help manager用 HELPソースファイル ; (先頭が「;」の行はコメントとして処理されます) ; %type 内蔵命令 %ver 2.61 %note ver2.61標準命令 %date 2004/04/01 %author onitama %url http://www.onionsoft.net/ %index button ボタン表示 %group オブジェクト制御命令 %prm "name",*label "name" : ボタンの名前 *label : 押した時にジャンプするラベル名 %inst カレントポジションにオブジェクトとして押しボタンを配置 します。ボタンには、"name"で指定された文字列が書かれ、 マウスでボタンをクリックすると、*labelで指定した場所に プログラムの制御が移ります。 ^ オブジェクトの大きさはobjsize命令で指定することができま す。ボタンを配置すると、カレントポジションは次の行に自動的に移動します。 %href objsize %index chkbox チェックボックス表示 %group オブジェクト制御命令 %prm "strings",p1 "strings" : チェックボックスの内容表示文字列 p1=変数 : チェックボックスの状態を保持する変数 %inst カレントポジションにオブジェクトとしてチェックボッ クスを配置します。チェックボックスには、"strings"で 指定した文字列の左側に、カーソルでON/OFFを切り替える ことのできるスイッチがついたオブジェクトです。 ^ チェックボックスの大きさは、objsizeで指定されたサイ ズになり、背景はグレーです。 ^ p1で指定された数値型変数の内容が0ならばチェックは OFFになり、1ならばONになります。チェックのON/OFFが 変更されると、変数の内容も同時に変化します。 %href objsize %index clrobj オブジェクトをクリア %group オブジェクト制御命令 %prm p1,p2 p1=0〜(0) : 消去するオブジェクトID(開始) p2=0〜(-1) : 消去するオブジェクトID(終了)( -1の場合は、最終のIDが指定されます ) %inst button命令やmesbox命令などで出したオブジェクトを消去します。 ^ p1,p2を省略して、clrobjだけを実行させると画面上のオブジェクト がすべて消去されます。一部のオブジェクトだけを消去したい場合 は、p1に最初のID、p2に最後のIDを指定すればp1〜p2までの オブジェクトだけが消去されます。指定するオブジェクトIDは、 title命令のオプションなどで指定するIDと同じものです。 ^ 削除されたオブジェクトのIDは、新しくオブジェクトを配置す際には 再利用されます。 %index combox コンボボックス表示 %group オブジェクト制御命令 %prm p1,p2,p3 p1=変数 : チェックボックスの状態を保持する数値型変数 p2=0〜(100) : 拡張Yサイズ p3="strings" : チェックボックスの内容を示す文字列 %inst カレントポジションにオブジェクトとして、コンボボックスを配置します。 コンボボックスは、複数の文字列要素の中から1つを選択させることのできる入力オブジェクトです。 オブジェクトの大きさは、objsize命令で設定した大きさになります。ただし、 p2パラメータで選択時のリスト表示のためのYサイズを指定しなければなりません。 (通常は100〜150程度が適当です) ^ 「\n」で区切った文字列をp3で指定することで、選択する要素を設定することができます。 たとえば、「APPLE\nORANGE\nGRAPE」という文字列を指定すると、「APPLE」「ORANGE」「GRAPE」 の中から1つを選択するコンボボックスになります。 それぞれの要素には、0から順番にインデックス番号がついています。前の例では、「APPLE」は インデックス0、「ORANGE」はインデックス1、「GRAPE」はインデックス2というふうに番号がついていきます。 ^ この「\n」で区切るというデータ形式は、メモリノートパッド命令で扱う複数行テキストデータと同じです。メモリノートパッド命令で作成したデータをそのままcombox命令にも使用できます。 ^ ユーザーが選択をすると、p1で指定した数値型変数にインデックス番号が代入されます。 最初にコンボボックスが配置される際には、p1で設定した変数が示すインデックスが選ばれた状態になります。(インデックス番号が-1の時は非選択の状態になります) %href objsize %sample a=0:objsize 120,24 combox a,120,"APPLE\nORANGE\nGRAPE" stop %index input 入力ボックス表示 %group オブジェクト制御命令 %prm p1,p2,p3,p4 p1=変数 : 入力のための変数 p2,p3 : メッセージボックスのサイズ(ドット単位) p4=0〜 : 入力できる最大文字数 %inst カレントポジションにオブジェクトとして入力ボックスを 配置します。p2,p3で大きさを指定して、場所はカレント ポジションからになります。p2,p3が省略された場合は、 objsizeで指定されたサイズになります。 ^ 入力ボックスは、キーボードから直接入力することのできる 小さな窓です。マウスで入力ボックスをクリックしてカーソ ルを出した状態で、キーボードからパラメータを入力する ことができるようになります。入力した値は、p1で指定した 変数に代入されます。もし、p1の変数が文字列型だった場合 には入力した文字列が、数値型だった場合には入力した値が そのまま変数に反映されます。 ^ 入力ボックスは初期状態では、p1で指定した変数に代入され ていた値が、ボックス内に表示されます。 ^ p4で、入力できる最大文字数を指定することができます。 p4が省略された場合には、p1で指定された変数に格納できる 最大文字数が自動的に割り当てられます。 ^ 入力ボックスを配置すると、カレントポジションは次の行に 自動的に移動します。 %href objsize %index listbox リストボックス表示 %group オブジェクト制御命令 %prm p1,p2,p3 p1=変数 : リストボックスの状態を保持する数値型変数 p2=0〜(100) : 拡張Yサイズ p3="strings" : リストボックスの内容を示す文字列 %inst カレントポジションにオブジェクトとして、リストボックスを配置します。 リストボックスは、複数の文字列要素の中から1つを選択させることのできる入力オブジェクトです。 オブジェクトの大きさは、objsize命令で設定した大きさになります。ただし、 p2パラメータで選択時のリスト表示のためのYサイズを指定しなければなりません。 (通常は100〜150程度が適当です) ^ 「\n」で区切った文字列をp3で指定することで、選択する要素を設定することができます。 たとえば、「APPLE\nORANGE\nGRAPE」という文字列を指定すると、「APPLE」「ORANGE」「GRAPE」 の中から1つを選択するリストボックスになります。 それぞれの要素には、0から順番にインデックス番号がついています。前の例では、「APPLE」は インデックス0、「ORANGE」はインデックス1、「GRAPE」はインデックス2というふうに番号がついていきます。 ^ この「\n」で区切るというデータ形式は、メモリノートパッド命令で扱う複数行テキストデータと同じです。メモリノートパッド命令で作成したデータをそのままcombox命令にも使用できます。 ^ ユーザーが選択をすると、p1で指定した数値型変数にインデックス番号が代入されます。 最初にリストボックスが配置される際には、p1で設定した変数が示すインデックスが選ばれた状態になります。(インデックス番号が-1の時は非選択の状態になります) %href objsize %sample a=0:objsize 120,24 listbox a,120,"APPLE\nORANGE\nGRAPE" stop %index mesbox メッセージボックス表示 %group オブジェクト制御命令 %prm p1,p2,p3,p4,p5 p1=変数 : 表示メッセージが代入された文字列型変数 p2,p3 : メッセージボックスのサイズ(ドット単位) p4=0〜(0) : メッセージボックスのスタイル p5=0〜 : 入力できる最大文字数 %inst ウインドゥ上にオブジェクトとして、メッセージボックス(メッセージ表示用の窓) を配置します。p2,p3で大きさを指定して、 場所はカレントポジションからに なります。 メッセージボックスのスタイルに設定する値(p4)は、以下の通りになります。 ^p 値 対応するキー --------------------------------------------------------------- 0 スクロール可能なエディットボックス(書き換え不可) 1 スクロール可能なエディットボックス(書き換え可能) 2 スクロールなし、スタティックテキスト 4 横スクロールバー付きエディットボックス(書き換え不可) 5 横スクロールバー付きエディットボックス(書き換え可能) ^p 書き換え可能なエディットボックスを作成すると、ユーザーが好きに文字を 入力できる簡単なテキストエディタになります。 ^ p5で、入力できる最大文字数を指定することができます。 p5が0の場合は、そのバージョンのWindowsで扱える最大文字数になります。 p5が省略された場合には、p1で指定された変数に格納できる最大文字数が 自動的に割り当てられます。 ^ また、スタティックテキストは指定された範囲に複数行の文字列を表示する だけの、メッセージ表示ボックスとなります。このメッセージは、後から objprm命令などで変更可能です。mes命令とは違い、すでに表示されている 内容を消す必要がないので便利です。 %index objprm オブジェクトの内容を変更 %group オブジェクト制御命令 %prm p1,p2 p1=0〜(0) : オブジェクトID指定 p2 : 変更するパラメータの内容 %inst button命令やinput,mesbox命令などで画面上に配置したオブジェクトの 持つ内容やパラメータを変更します。 ^ p1には、オブジェクトIDを指定します。オブジェクトIDは、0から順番に 画面上に表示したオブジェクト1つ1つに割り当てられていく番号です。 が持つIDで、通常置いた順番に0,1,2…の番号が割り当てられます。 ここで指定されたオブジェクトをp2で指定したパラメータで変更します。 p2で指定するパラメータはオブジェクトの種類によって異なります。 オブジェクトによって、文字列を指定するものや、数値を指定するものが分かれています。 詳細は下の表を参照してください。 ^p オブジェクト p2の指定 ----------------------------------------------------- ボタン ボタン文字列の変更(文字列) 入力ボックス(数値) 入力内容の変更(数値) 入力ボックス(文字列) 入力内容の変更(文字列) チェックボックス チェックのON/OFF(数値) コンボボックス コンボボックスの内容変更(文字列) リストボックス リストボックスの内容変更(文字列) ^p たとえば、チェックボックスを示すIDを指定してから、p2のパラメータに1を指定 すると、チェックボックスを強制的にONの状態に変更します。この場合、チェックボックスの 内容を保持する変数の値も自動的に書き換えられます。 ^ 入力ボックスの内容なども同様に変更できます。HSP ver2.4以前では、title命令を使用して 入力ボックスの内容を書き換えていましたが、ver2.4以降はobjprm命令を使うことを推奨します。 (title命令でのオブジェクト内容変更も互換性のため残されています) ^ 入力ボックスの内容を変更した場合には、自動的に入力ボックスに入力フォーカスが設定され、 ボックス内にカーソルが表示されます。 %index objsend オブジェクトにメッセージを送る %group オブジェクト制御命令 %prm p1,p2,p3,p4,p5 p1=0〜(0) : オブジェクトID指定 p2=0〜(0) : オブジェクトに送るWin32メッセージの種類 p3=0〜65535(0) : オブジェクトに送るパラメータ(wParam) p4=変数 : パラメータの受け渡しに使用する変数名(lParam) p5=0〜(0) : lParamパラメータのタイプ %inst button命令やinput,mesbox命令などで画面上に配置したオブジェクトに対して、 Win32メッセージを送ります。 ^ オブジェクトには、メッセージコード(p2)と、wParam(p3)、lParam(p4)の3つが送られ、 WIN32APIのSendMessage関数と同じ機能を果たします。 ただし、メッセージコード(p2)の値が−1の場合は、メッセージは送られず、 オブジェクトに入力フォーカスを合わせて終了します。 ^ objsend命令は、オブジェクトに対して非常に多彩な動作を指定することができる強力な命令です。 しかし、この命令を使うためにはWindowsAPIのメッセージパラメータを知らなければなりません。 通常は、この命令を使ったり、使用方法を覚えておく必要性はありません。 HSPだけではできない動作、特殊な状況下の解決のために使用される命令とだけ覚えておいてください。 objsend命令の詳細については、「objsend命令リファレンスマニュアル」 を参照してください。 %index objsize オブジェクトサイズ設定 %group オブジェクト制御命令 %prm p1,p2,p3 p1=64〜(64) : オブジェクトのX方向のサイズ(ドット単位) p2=8〜(24) : オブジェクトのY方向のサイズ(ドット単位) p3=0〜(0) : Y方向の最低確保行サイズ (ドット単位) %inst ボタンや入力ボックスなどのオブジェクトの大きさを設定します。 ^ p3でボタンやメッセージが置かれた後にカレントポジションが 移動する最低量を指定することができます。これにより、ボタン とメッセージを連続して置いた時に同じ大きさでスペースが空く ようになります。 ^ 画面がクリアされると、オブジェクトサイズは自動的に デフォルトに戻ります。 %href button chkbox combox input listbox %index objsel オブジェクトに入力フォーカスを設定 %group オブジェクト制御命令 %prm p1 p1=0〜(0) : オブジェクトID指定 %inst p1で指定したオブジェクトIDに入力フォーカスを合わせます。 入力フォーカスを合わせることにより、mesbox命令やinput命令で 配置した入力ボックスの中に入力カーソル(キャレット)を出すこと ができます。この命令は、複数の入力ボックスで任意の場所に 入力フォーカスを合わせたい場合や、次の入力ボックスにキー 入力などで移動するような処理を行なうためのものです。 また、p1に-1を指定した場合は、現在、入力フォーカスが合っている オブジェクトIDをシステム変数statに代入します。 %index objmode オブジェクトモード設定 %group オブジェクト制御命令 %prm p1,p2 p1=0〜(0) : オブジェクトフォント設定モード指定 p2=0〜1 : フォーカス移動キー指定(0=OFF/1=ON) %inst button,input,mesboxなどのオブジェクト配置命令で使用される スタイル等を設定するための命令です。 p1でフォント設定及び、スタイルに関するモードを指定することができます。 これにより、以降のオブジェクト配置命令実行時のスタイル設定が変わります。 モードの値と内容は以下の通りです。 ^p p1 モード --------------------------------------------------------- 0 : HSP標準フォントを使用 1 : デフォルトGUIフォントを使用 2 : font命令で選択されているフォントを使用 +16 : オブジェクトの周囲に黒い枠線を適用する +32 : 入力ボックスの立体的な境界線を使用しない +64 : フォーカス移動時のテキスト選択を無効にする ( +が付いた項目は同時に指定することが可能です ) ^p ウインドゥが初期化された直後は、モード0に設定されています。 たとえば、これをモード1に変更してから、オブジェクトを配置すると デフォルトGUIフォント(メニューやダイアログボックスなどで使われて いる、小さいサイズのフォント)が使われます。 ^ また、モード2に変更した場合は、font命令で指定したフォントが 使われるようになります。これは、オブジェクト配置命令が実行 される時点で、設定されているフォントが使用されます。objmode命令 が実行された時点のフォントではないので注意してください。 ^ p1のモードに16を加算した場合は、それ以降に配置されたオブジェクトの周囲に黒い枠線を適用します。(ver2.61からmesbox命令の枠線はデフォルトで無効になっています。 ver2.61以前のオブジェクトスタイルと互換にする場合は、このモードを指定してください。) p1のモードに32を加算した場合は、mesbox命令による入力ボックスに適用されている立体的な境界線を無効にします。 p1のモードに64を加算した場合は、[TAB]キーによるフォーカス自動移動の際に入力ボックスの項目選択を実行しません。(ver2.61以前と同様の動作になります。) ^ p2で、[TAB]キーによるオブジェクトのフォーカス移動モードの ON/OFFを行ないます。p2を1に指定した場合は、表示されているオブジェクト の入力フォーカスを[TAB]キーで移動することができます。 p2のモード指定を省略した場合は、以前のモードを引き継ぎます。 ^p p2 モード --------------------------------------------------------- 0 : [TAB]を無効にする(標準) 1 : [TAB]キーによるオブジェクトのフォーカス移動可能 ^p %href button chkbox combox input listbox