PrimeKarte > PkKanjaIchiran > KanjaIchiranControl_SearchFlex
検索用 擬似コントロール †
本ページ作成中...
全般 †
- 患者一覧の検索条件を表示/入力設定 を行うためのコントロールである。
- VS FLEXを用いて、テキストボックス・チェックボックス・ボタン などを擬似的に再現するコントロールである。
処理の流れ †
- コントロールの初期化 (InitFlex:InitSearchFlex)
- 検索種別に対応した 擬似コントロールの形成(InitKanjaSearch_XXX*1)
- 検索(今すぐ検索する場合 且つ 必須検索項目が満たされている場合)
構成 †
大分類 †
擬似コントロールの構成は以下のとおり
- ラベル
- テキストボックス(編集不可)
- テキストボックス(編集可能)
- ボタン
- チェックボックス(通常)
- チェックボックス(排他制御あり)
enum KsCtrlKind に定義している。
実際のコントロール構築にはこちらを使用している...。
- ラベル
- 病棟名表示テキストボックス
- 診療科名表示テキストボックス
- 医師名表示テキストボックス
- 性別入力テキストボックス(直接入力可)
- テキストボックス(直接入力可)
- 日付入力テキストボックス(直接入力可)
- 時刻入力テキストボックス(直接入力可)
- 読み取り専用テキストボックス
- ラジオボタン
- チェックボックス
- 「○○設定」用ボタン
- マスタダイアログ呼び出しボタン
- カレンダー呼び出しボタン(日付版)
- カレンダー呼び出しボタン(日時版)*2
- 日付フォーマット選択ボタン(和暦・西暦 選択ボタン)
- 期間指定スライド(過去・現在・未来)
定義など †
擬似コントロールに対応した 定義は以下のとおり
- 総列数
擬似コントロールを形成するために使用している
コントロールが増えるたびに定義しなおさないといけないのが難点であり、改善すべき事である。
- 擬似コントロール幅
- 擬似コントロールクラス
擬似コントロールを形成する際、フレックスの UserDataとして設定する
- 操作コード(enum KsSosaCode)
- コントロール種別
フレックス→コントロールのように見せかける ために使用する
制御など †
フレックスのイベントにおける制御の主なものは以下のとおりである。
- 入力可否セルの判断
- IME制御
- マスク(入力フォーマット)
- 入力値チェック(文字数, 日付の正当性 など...)
- 入力値に紐付くセルの値変更(表示含む) など
詳細 †
擬似コントロールフレックスの初期化処理について。
- プロパティ設定
以下のプロパティ以外はdefault設定でよい(と思われる...)。
| プロパティ名 | 概要 | 設定値 | 備考 |
| Rows.Fixed | 固定行 | 0 | |
| Cols.Fixed | 固定列 | 0 | |
| Rows.Count | 行数 | 1 | |
| Cols.Count | 列数 | 検索種別毎(処理しやすさのため、定義などしてもよい) | |
| FocusRect | 矩形領域 | 矩形領域(太い枠) | 枠線を強調するのが目的 |
| HighLight | ハイライト設定 | なし | |
| BorderStyle | 境界線設定 | 浮き出た境界線 | 枠線を強調するようなものであればよい |
| ExtendLastCol | 最終列調整 | する | 最終列の線(境界線)が出ないようにするため |
| AllowSorting | ソート設定 | ソート不可 | |
| AllowResizing | リサイズ設定 | 列 | |
| BackColor | 背景色 | システムカラーのコントロール(3D要素の表面の色) | ダイアログ他に貼り付けた際に浮き出ないため |
- セルスタイルの準備
擬似コントロール+α にセルスタイルを準備する。
セルスタイルの設定は少ないほうがいい?ようである(メモリの関連?)。
- ラベル
- テキストボックス(エディットボックス)
- ボタン
- チェックボックス
- 性別入力*3
- 日付入力*4
- 時刻入力*5
- 日付フォーマット表示ラベル
クラスの要素は以下のとおり。
- コントロール種別 (enum KsCtrlKind)
- 操作コード(enum KsSosaCode)
- 表示文言
チェックボックス・ラジオボタンの場合は、チェックしたい際に1を立てる
- 編集可能セル フラグ(0:不可 1:可)
- 連動フラグ(配列)
どの列番号と連動するか を 保持する(列番号:配列のインデックス)
- 必須フラグ(0:必須ではない 1:必須)
- コントロール幅
備考 †
- 本コントロールは イベント抑止フラグ(内部変数)による制御も行っているので注意すること
- DoctorX時の患者一覧にあるカードリーダ用テキストボックスは それぞれ イベント内に組み込んでいる...