コマンドボタンのオートリピート

   
INF_Framework は ONnoji さん作成のフリーのライブラリです。
フォームに便利な機能を追加してくれます。
ここでは INF_Framework が適用されたフォーム の便利機能を、
簡単に利用できるように解説していきたいと思っています。
最新のライブラリ は次の通りです。
※ INF_Framework_第3.3版_改訂版(MkII) 基本セット for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
※ INF_Framework_第3.3版_改訂版(MkII) サンプル集 for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
ライブラリは 所定のサイト からダウンロードしてください。
※ 桐10 / 桐10s / 桐sSL で使用するには、ファイルのコンバートが必要です。 
更新日:2022年10月10日

INF_Fremework ではマウスでクリックしたままで コマンドボタンを 押して → 離して → 押して と繰り返す操作ができます(オートリピート)。

step1.
実行対象(リピート対象)のコマンドボタンを準備する。
step2.
コマンドボタンを遠隔操作する[罫線を立体に設定したテキスト]オブジェクトを準備する。
step3.
コマンドボタンを遠隔操作するオブジェクトを以下のルールに則って設定する。
オブジェクトにファミリ:famRecordUpDown の設定をする(ファミリに登録するのは、実行対象のコマンドボタンではありません)。
”任意のオブジェクト名” + ”_ ” (アンダーバー:半角記号)+”実行対象のコマンドボタンのオブジェクト名”

例) ” txt1_cmdRecordUp ”
例) ” lbl1_cmdRecordUp ”

※ボタンを繰り返し押すことが想定される場合、とにかく 『組み込んでおこう!』 という気持ちで使ってみましょう (^^♪


モダンINF_Framework、クラシックINF_Framework 共通 (Mkll を含みます)

1.
サンプル集に含まれるフォームの ”FW_Sample_クラシックINF_変数受け渡し元.wfx ” を定義画面で開いてみましょう。
 



 
少々ごちゃごちゃしていますが、

上から説明すると、コマンドボタンがワークスペースに置かれています
(属性は図の通り、次行、前行にジャンプするというごく当たり前の設定です)。

そのコマンドボタンを操作するオブジェクトが、フォーム上にある  になります。  がファミリに属します。
※ モダンINF_Framework_Mkll の場合、オブジェクトのデザインは になります(その他は全く同じです)。

ファミリの登録と コマンドボタンを操作するオブジェクトの命名ルール がオートリピートの設定になります。
ここでは
 ” UTLSKIPtxtRecordUpFor ” + ”_ ” (アンダーバー:半角記号)+”実行するコマンドボタンのオブジェクト名”
です(もう片方も同様の設定)。



2.
コマンドボタンを操作するオブジェクトは ”ファミリ:famRecordUpDown” に属していなくてはなりません。
 
  ”ファミリ:famRecordUpDown” はファミリパレットに登録されています。
※INF_Fremework が標準で準備している ファミリ名です。


注)サンプル”FW_Sample_クラシックINF_変数受け渡し元.wfx ”では
   INF_Fremework が自動で設定しているので、テキストボックスの属性をみても、
  ファミリ名:なし となっています。

※コマンドボタンを操作するオブジェクトの種類はテキストボックスを推奨します。

2‐1.
コマンドボタンを操作するオブジェクトの属性で ファミリ を登録します。
 


2‐2.
ファミリ の登録はオブジェクト操作コマンドを使ってでもできます。
  ・ オブジェクト操作 @UTLSKIPtxtRecordUpFor_cmdRecordUp{ オブジェクトファミリー = "famRecordUpDown" }
・ オブジェクト操作 @UTLSKIPtxtRecordDownFor_cmdRecordDown{ オブジェクトファミリー = "famRecordUpDown" }

※オブジェクト操作コマンドで設定すると、ファミリパレットの登録順序が変更された場合でも対応できます。



3.
コマンドボタンを遠隔操作するオブジェクトは[マウス左クリック]イベントが使えるオブジェクト
  扇形|角丸め矩形|グラフ|グループ項目|グループボックス
コマンドボタン|コンボボックス|楕円|テキスト|トグルボタン|バーコード|ピクチャ|ラベル
※コマンドボタンの場合には、機能名1~4を[なし]に設定してください。

であれば種類は問いませんがテキストボックスを推奨します。
  ※テキストボックス等に設定すると、INF_Framework が凸凹を描いてくれます。
 初期値として、罫線で『立体』に設定しておきましょう。

※コマンドボタンに設定すると、リピート中にボタンが凹んだ状態が維持できない場合がありますが動作に影響はありません。
 (明細行でカーソルが表示されている画面の上下まで行くと ボタンの凹 が解除されます。)



4.
次のサンプル画像はグループを操作する設定です。
  オブジェクトの種類にはテキストボックスを使っています。
 

※このサンプルは、ダウンロードした INF_Framework のファイルには含まれていません。



5.
オートリピートは コマンドボタンを繰り返し押すということで、上下セットで使うなどの必要はありません。
  次は 操作するオブジェクトにラベルを使っています(罫線は『立体』に設定しています)。
※ここではサンプルとしてラベルオブジェクトを使いました。実際はテキストボックスに統一しておくことをお勧めします。


※このサンプルは、ダウンロードした INF_Framework のファイルには含まれていません。