INF_Framework は ONnoji さん作成のフリーのライブラリです。
フォームに便利な機能を追加してくれます。
ここでは INF_Framework が適用されたフォームの便利機能を、
できるだけ簡単に利用できるように解説していきたいと思っています(?、頑張ります)。
ここで使用する ライブラリ は所定のサイト からダウンロードしてください。
※ INF_Framework 第3.3版 Rev.249 for 桐10 /
桐10s を使用しています。
コマンドボタンのオートリピート
INF_Fremework ではマウスでクリックしたままでコマンドボタンを 押して → 離して → 押して と繰り返す操作ができます。
step1.実行対象(リピート対象)のコマンドボタンを準備する。
step2.コマンドボタンを遠隔操作する[罫線を立体に設定したテキスト]オブジェクトを準備する。
step3. コマンドボタンを遠隔操作するオブジェクトを以下のルールに則って設定する。
オブジェクトにファミリ:famRecordUpDown の設定をする(ファミリに登録するのは、実行対象のコマンドボタンではありません)。
”任意のオブジェクト名” + ”_ ” (アンダーバー:半角記号)+”実行対象のコマンドボタンのオブジェクト名”
例) ” txt1_cmdRecordUp ”
例) ” lbl1_cmdRecordUp ”
以上です。
モダンINF_Framework、クラシックINF_Framework 共通
1. サンプルフォームの ” V10s_クラシックINF_変数受け渡し元.wfx ” を定義画面で開いてみましょう。
少々ごちゃごちゃしていますが、
上から説明すると、コマンドボタンがワークスペースに置かれています(属性は図の通り、次行、前行にジャンプするというごく当たり前の設定です)。
そのコマンドボタンを操作するオブジェクトが、フォーム上にある になります。 がファミリに属します。
ファミリの登録と コマンドボタンを操作するオブジェクトの命名ルール がオートリピートの設定になります。
ここでは
” UTLSKIPtxtRecordUpFor ” + ”_ ” (アンダーバー:半角記号)+”実行するコマンドボタンのオブジェクト名” です(もう一方も同様の設定)。
------------------
2. コマンドボタンを操作するオブジェクトは ”ファミリ:famRecordUpDown” に属していなくてはなりません。
サンプルフォームの ” V10s_クラシックINF_変数受け渡し元.wfx ”に 登録されているファミリです。 INF_Fremework が標準で準備している ファミリ名です。 サンプルではテキストボックスにファミリ名が登録されています。 注)サンプルでは INF_Fremework が設定しているので、 テキストボックスの属性をみても、ファミリ名:なし となっています。 |
2-1. ファミリーの登録はオブジェクト操作コマンドを使ってでもできます。
・ オブジェクト操作 @UTLSKIPtxtRecordUpFor_cmdRecordUp{ オブジェクトファミリー = "famRecordUpDown" }
・ オブジェクト操作 @UTLSKIPtxtRecordDownFor_cmdRecordDown{ オブジェクトファミリー = "famRecordUpDown" }
*オブジェクト操作コマンドで設定すると、ファミリパレットの登録順序が変更された場合でも対応できます。
3. コマンドボタンを遠隔操作するオブジェクトは[マウス左クリック]イベントが使えるオブジェクトであれば種類は問いません。
扇形|角丸め矩形|グラフ|グループ項目|グループボックス
コマンドボタン|コンボボックス|楕円|テキスト|トグルボタン|バーコード|ピクチャ|ラベル
※コマンドボタンの場合には、機能名1~4を[なし]に設定してください。
※テキストボックス等に設定すると、INF_Framework が凸凹を描いてくれます。
初期値として、罫線で『立体』に設定しておきましょう。
※コマンドボタンに設定すると、リピート中にボタンが凹んだ状態が維持できない場合がありますが動作に影響はありません。
(明細行でカーソルが表示されている画面の上下まで行くと ボタンの凹 が解除されます。)
4. 次のサンプルではグループを操作してみました。オブジェクトにはテキストボックスを使っています。
ファミリを設定して、オブジェクト名に: 任意の名称 + ”_ ” (アンダーバー:半角記号)+”実行するコマンドボタン名” としています。
テキストボックスの罫線で 『立体』と設定しています。
-----------------------
5. オートリピートは コマンドボタンを繰り返し押すということで、上下セットで使うなどの必要はありません。
次は 操作するオブジェクトにラベルを使っています(罫線は『立体』に設定しています)。
※ここではサンプルでラベルオブジェクトを使いました。実際はテキストボックスに統一しておくことをお勧めします。
※このサンプルを掲載した心は、繰り返し押すといった処理ではとにかく 『組み込んでしまえ!』 ということです (^^♪