INF_Framework は ONnoji さん作成のフリーのライブラリです。
フォームに便利な機能を追加してくれます。

ここでは INF_Framework に含まれるサンプルの具体的な使用例をご紹介しようと思っています(?、頑張ります)。


FW_チェックボックスINF_Framework     
  更新日:2024年9月11日

INF_Framework_第3.3版_改訂版(MkII) 基本セット for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
 or
INF_Framework_第3.3版_改訂版(MkII) 基本セット for 桐10s / 桐sSL
には、サンプル " FW_チェックボックスINF_Framework " が含まれています。

ここでは、INF_Framework_第3.3版_改訂版(MkII) 基本セット for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL をコンバートして使用しています。

※サンプルファイルをダウンロードできます(CheckboxSample.zip)  
  使用するにはフレームワーク の ” INF_Framework.cmx , IPS_Framework.cmx , INF_MNU.kex , INF_MNU.wfx ” 4ファイルが必要です。
  フォーム "お祭り参加者一覧.wfx" で起動します。
※詳細は 2 の応用例の解説をご覧になってください。


《FW_チェックボックスINF_Framework の四大特長》  By ONnoji

  FW_チェックボックスINF_Framework の特長は、一覧表形式のフォームの明細部でチェックボックスを繰り返し表示する場合の4つのユーザインタフェースです。
【フォーカスの制御】
  一覧表形式のフォームの明細部にチェックボックスを配置すると、チェックボックスをクリックした際に、フォーカスがあったテキストへフォーカスが戻りません。
しかし、FW_チェックボックスINF_Frameworkを使えば、チェックボックスをクリックしても、フォーカスがあったテキストへフォーカスが戻ります。
【美しいフォーム】
  一覧表形式のフォームの明細部にチェックボックスを配置すると繰り返し表示されるので、終端行以降にもチェックボックスが表示されてしまいます。
しかし、FW_チェックボックスINF_Frameworkを使えば、終端行以降にチェックボックスが表示されませんので、スッキリとした美しいフォームに仕上がります。
【リバースボタン】
  フォームヘッダ部の[リーバス]ボタンをクリックすると、(現在選択中の行の)すべてのチェックボックスを対象にオン/オフを反転できます。
【すべてオン/オフ】
  フォームヘッダ部のチェックボックスをオン/オフすると、(現在選択中の行の)すべてのチェックボックスを対象にオンまたはオフにセット出来ます。
  ※以上、ONnoji さんご自身による案内でした

   
0. サンプル "FW_チェックボックスINF_Framework" について
 
0-1. フォーム "FW_チェックボックスINF_Framework.wfx" を開いてみると、以下のように表示されます。
→ マウスでクリックすると、チェック が入れられます。
   
0-2. 表の表示と定義は次のようになっています。

※チェックボックスにチェックが入ると、項目 [チェック] に "1"(整数)が入力されます。
 

   
0-3. チェックボックスを利用するには
フレームワーク の ” INF_Framework.cmx , IPS_Framework.cmx , INF_MNU.kex , INF_MNU.wfx ” の4ファイルと
” FW_チェックボックスINF_Framework.wfx、FW_チェックボックスINF_Framework.kex、FW_チェックボックスINF_Framework.tbx ”
に準ずるファイルが必要です。
0-4. イベントファイル "FW_チェックボックスINF_Framework.kex" を開くと、次のようになっています。
 

 


《FW_チェックボックスINF_Framework のカスタマイズ》  By ONnoji

  拙作:FW_チェックボックスINF_Framework は、フレームワークです。

フレームワークとはテンプレートのようなものです。
1.フォームに名前を付けて保存したり、2.イベント処理に名前を付けて書き出したり、3.表に項目を3つ追加するするだけで、

ご自身の表(.tbl/.tbx)を編集対象表にした一覧表形式のフォームが簡単に作れます。
これをカスタマイズすると呼びます。

以下にカスタマイズする手順を示します。
 
 ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
  FW_チェックボックスINF_Framework のカスタマイズの手順
  手順は1、2、3のどれから先に行ってもOKです。
 

〔手順〕  
1. イベント処理の再定義で[ファイル]メニュー→[一括]→[書き出し 一括・イベント処理ファイル]で、"ファイルの種類" に "イベント処理" を選び、任意のイベント処理を名前を付けて書き出します。
2.1 再定義でフォームの[ファイル]メニュー→[名前を付けて保存]で、任意の名前を付けて保存します。
2.2 再定義でフォームのオブジェクトの属性の[編集対象表]タブの "参照表" を〔手順3.2〕の任意の表(.tbl/.tbx)に変更します。
2.3 再定義でフォームのオブジェクトの属性の[編集対象表]タブの "編集対象表" が "参照表" と同じになっていることを確かめます。
2.4 再定義でフォームのオブジェクトの属性の[イベント]タブの "イベントファイル名" に〔手順1〕のファイル名を設定します。
3.1 FW_チェックボックスINF_Framework.tbl/.tbx は使いません。
3.2 任意の表(.tbl/.tbx)を用意してください。
3.3 表定義で任意の表(.tbl/.tbx)に次の3つの項目を追加します。
項目名 データ型 項目計算式
 チェック  整数  
 recordID  カウンタ  
 空欄  文字列  #u
3.4 表編集の[属性]メニュー→[列の表示]→[一覧で設定]で、追加した3つの項目の[表示]のチェク印をオフにします。

 
4. イベント処理ファイルがあるフォルダにフレームワークが存在しない場合には、2つのフレームワークをイベント処理ファイルがあるフォルダにコピーしてください。
※( INF_Framework.cmd/.cmx と IPS_Framework.cmd/cmx )
(ご注意)
  フレームワーク(INF_Framework.cmd/.cmx と IPS_Framework.cmd/cmx)はライブラリです。
一括処理ではありません。
 

  ※以上、ONnoji さんご自身による案内でした

 

1. ここでは "FW_チェックボックスINF_Framework" を利用する簡単なサンプルを作ってみました。
 
1-1. コマンドボタン [お祭りチェックボックスを開く] をクリックすると、
"お祭り参加者一覧" に登録されたデータから [お祭り名] の一覧がチェックボックスとして作成されます。

ここでは、お祭り名 3ヶ所にチェックを入れてみました。
 [お祭り組合わせ一覧を更新して閉じる] ボタンで、チェックを入れた [お祭り名] での "お祭り組合わせ一覧" が作成されます。
   
1-2. "お祭り参加者一覧" からコマンドボタン [お祭り組合せ一覧を開く] をクリックすると、
チェックボックスで指定した [お祭り名] での一覧が作成されています。
 


 

2. 次に上記のサンプルをチェックボックスの応用例として、解説してみました。
 
2-1. 必要なファイルを準備します。
2-1-1. 元になるデータファイル(チェックボックスを呼び出すファイル)として、
” お祭り参加者一覧.tbx ,  お祭り参加者一覧.wfx ,  お祭り参加者一覧.kex ” を作成します。"オートINF_Framework" を利用すると簡単です。
2-1-2. チェックボックスに必要なファイルとして
" FW_チェックボックスINF_Framework.tbx " に対応 →  " お祭り_チェックボックス.tbx " : 新規作成します。必須項目があります(サンプル参照)
" FW_チェックボックスINF_Framework.wfx " に対応 →  " お祭り_チェックボックス.wfx " : ファイル名の変更後、オブジェクトの属性を変更します
" FW_チェックボックスINF_Framework.kex " に対応 →  " お祭り_チェックボックス.kex " : ファイル名の変更でOK
2-1-3. また組み合わせたデータ用に、表、フォーム、イベントの各ファイルを準備します(これも "オートINF_Framework" で簡単作成です)。
  ※ "オートINF_Framework" を専用フォームにするには "モダンINF_Framework" の解説ページをご覧になってください。

※ サンプルファイルダウンロード(CheckboxSample.zip)  
  使用するにはフレームワーク の ” INF_Framework.cmx , IPS_Framework.cmx , INF_MNU.kex , INF_MNU.wfx ” 4ファイルが必要です。
  フォーム "お祭り参加者一覧.wfx" で起動します。
 


2-2. "お祭り参加者一覧"のファイル
2-2-1. "お祭り参加者一覧.tbx"
[検索値]には項目計算式を設定しています( [お祭り名]+[開催地等]+#文字列( [開催日] ) )

   
2-2-2. "お祭り参加者一覧.wfx"
※ "オートINF_Framework" を使って作成しています。 なお "モダンINF_Framework" の解説ページをご覧になってください。







   
2-2-3. "お祭り参加者一覧.kex "
※  "オートINF_Framework" を使って作成しています。 なお "モダンINF_Framework" の解説ページをご覧になってください。

名札  メイン では 変数を設定して使用するファイルを代入しています。

また INF_Framework に必要なコマンド群の最後で
変数宣言 局所,整数 { &ONEmGroupObjectSeek = 1 } /* グループ項目のソースの項目を明細部から除外する */
を有効にしています。
※ 詳細は "モダンINF_Framework" の解説をご覧になってください。





起動時のコマンドボタンで実行する 手続き定義開始 cmdStartupClick( ) は、必須ではありません。



 
コマンドボタン に対応する プロシージャです。

   
 
コマンドボタン に対応する プロシージャです。
  ※ ここではランチャーで開いています。
 


2-3. "お祭り_チェックボックス" のファイル ( サンプルの "FW_チェックボックスINF_Framework" から作成しています)
   
2-3-1. "お祭り_チェックボックス.tbx"
  ※ここのサンプルは、データが入力された状態になっています。

[検索値] に項目計算式は不要です。


2-3-2. "お祭り_チェックボックス.wfx"

※チェックボックスにチェックが入ると、項目 [チェック] に "1"(整数)が入力されます。
 






   
2-3-3. "お祭り参加者一覧.kex"
 
名札  メイン では 変数を設定して使用するファイルを代入しています。

   
 
コマンドボタン に対応する プロシージャです。
  ※ チェックボックスにチェックが入ると、項目 [チェック] に "1"(整数)が入力されます。
 


 


2-4. "お祭り組合せ一覧" のファイル
2-4-1. "お祭り組合せ一覧.tbx"
  ※ "お祭り参加者一覧.tbx" から作成されます。次のように "お祭り参加者一覧.tbx" と同じ項目になります。


2-4-2. "お祭り組合せ一覧.wfx "
※ お祭り参加者一覧.wfx から作成すれば簡単です。
   なお "モダンINF_Framework" の解説ページもご覧になってください。
 

2-4-3. "お祭り組合せ一覧.kex"
   "オートINF_Framework" を使って作成しています。 なお "モダンINF_Framework" の解説ページをご覧になってください。




フォーム起動時に コマンドボタンで実行する 手続き定義開始 cmdStartupClick( ) は、必須ではありません。



 


参考) フォーム起動時に実行させているコマンドの設定です。※ 解説 [起動・終了時に自動で] をご覧になってください。