| 2023/08/11(Fri) 00:03:09 編集(投稿者) 2023/08/08(Tue) 17:47:57 編集(投稿者) 2023/07/09(Sun) 11:02:11 編集(投稿者)
※記事とサンプルを差し替えました。
一覧表形式のフォームのサンプルをアップしました。
[内容]項目にキャレットがある時に 00〜23 の項目をマウスドラッグすると、アスタリスク( * )記号に置き換えます。
これはプロトタイプですのでドラッグ機能だけです。(^^ゞ
なお、添付ファイルは数日を目途に削除しますので、ダウンロードはお早めに願います。
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
■時間割一覧.tbl
番号 項目名 データ型 1 内容 文字列 2 00h 文字列 3 01h 文字列 4 02h 文字列 5 03h 文字列 6 04h 文字列 7 05h 文字列 8 06h 文字列 9 07h 文字列 10 08h 文字列 11 09h 文字列 12 10h 文字列 13 11h 文字列 14 12h 文字列 15 13h 文字列 16 14h 文字列 17 15h 文字列 18 16h 文字列 19 17h 文字列 20 18h 文字列 21 19h 文字列 22 20h 文字列 23 21h 文字列 24 22h 文字列 25 23h 文字列 26 編集フラグ 整数
■時間割一覧.wfm
フォーム ├ ファミリ │ └ famTxt ├ ワークスペース ├ フォーム操作バー ├ フォームヘッダ部 │ ├ lbl内容 │ ├ lbl00 │ ├ lbl01 │ ├ lbl02 │ ├ lbl03 │ ├ lbl04 │ ├ lbl05 │ ├ lbl06 │ ├ lbl07 │ ├ lbl08 │ ├ lbl09 │ ├ lbl10 │ ├ lbl11 │ ├ lbl12 │ ├ lbl13 │ ├ lbl14 │ ├ lbl15 │ ├ lbl16 │ ├ lbl17 │ ├ lbl18 │ ├ lbl19 │ ├ lbl20 │ ├ lbl21 │ ├ lbl22 │ ├ lbl23 │ ├ txtシグナル ※ソース = #cond( #変数( "mOnMouseDownMode" ), "Ready" ) │ └ lbl操作説明 └ フォーム明細部 ├ 行セレクタ ├ txt内容 ※編集属性式:#cond( [編集フラグ], "背景モード'指定色',背景色'若草色'" ) ├ txt00 ─┐ ├ txt01 │ ├ txt02 │ ├ txt03 │ ├ txt04 │ ├ txt05 │ ├ txt06 │ ├ txt07 ├ txt08 (重要) ├ txt09 txt00 〜 txt23 のテキストオブジェクトは ├ txt10 ファミリ:famTxt に所属しています ├ txt11 ├ txt12 <2023.08.08 追記> ├ txt13 フォーカスの設定 = 禁止 に設定されています ├ txt14 これはマウス左ダウンした際にテキストオブジェクトのエディタに進入しないようにするためです ├ txt15 ├ txt16 │ ├ txt17 │ ├ txt18 │ ├ txt19 │ ├ txt20 │ ├ txt21 │ ├ txt22 │ └ txt23 ─┘
■時間割一覧.kev
名札 メイン 変数宣言 局所,文字列{ &mFormObjectName, &workString } 変数宣言 局所,文字列{ &mFamilyObjectName } 変数宣言 局所,整数 { &mFormEditMode } 変数宣言 局所,整数 { &mOnMouseDownMode } 変数宣言 局所,整数 { &mDetailLineNo }
メソッド呼び出し オブジェクト取得( 0,&workString ) メソッド呼び出し &workString.親オブジェクト取得( &mFormObjectName )
&mFamilyObjectName = "famTxt" 手続き実行 prcマウスイベント初期化( )
*
手続き定義開始 famTxt::マウスインアウト(長整数 &フラグ,長整数 &明細番号) 変数宣言 自動,文字列{ &fieldName }
トレース出力 &this, " ", _&フラグ, " ", #cond( &フラグ, "in", 1, "out" ), " マウスインアウト"
if ( &フラグ )
&fieldName = #文字置換( &this, "txt", #u ) + "h" トレース出力 &this, " → " + &fieldName, " マウスインアウト" 項目値代入 &fieldName = "*"
end
手続き定義終了
手続き定義開始 famTxt::マウス左ダウン(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止) 変数宣言 自動,文字列{ &fieldName }
メソッド呼び出し &mFormObjectName.更新モード取得( &mFormEditMode ) トレース出力 _&mFormEditMode, " マウス左ダウン", " ", _&明細番号, " ", _&mDetailLineNo
if ( &mFormEditMode ) /* 表示モードではマウスドラッグのモード( &mOnMouseDownMode )に入らない */
if ( &明細番号 = &mDetailLineNo ) オブジェクト操作 &mFamilyObjectName{ マウスインアウト = 1 } オブジェクト操作 &mFamilyObjectName{ マウス左アップ = 1 } &mOnMouseDownMode = 1 メソッド呼び出し &mFormObjectName.変数変更( )
手続き実行 prc項目値クリア( )
&fieldName = #文字置換( &this, "txt", #u ) + "h" トレース出力 &this, " → " + &fieldName, " マウス左ダウン" 項目値代入 &fieldName = "*" end
end
手続き定義終了
手続き定義開始 famTxt::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
トレース出力 &this, " ", _&フラグ, " マウス左アップ" オブジェクト操作 &mFamilyObjectName{ マウスインアウト = 0 } オブジェクト操作 &mFamilyObjectName{ マウス左アップ = 0 } &mOnMouseDownMode = 0 メソッド呼び出し &mFormObjectName.変数変更( )
手続き定義終了
手続き定義開始 txt内容::入力前(参照 文字列 &編集文字列)
メソッド呼び出し &mFormObjectName.明細番号取得( &mDetailLineNo ) トレース出力 &this, " ", _&mDetailLineNo, " 入力前"
メソッド呼び出し &mFormObjectName.更新モード取得( &mFormEditMode ) トレース出力 &this, " ", _&mFormEditMode, " ", _#eof, " 入力前"
if ( .not #eof ) 項目値代入 [編集フラグ] = 1 end
手続き定義終了
手続き定義開始 txt内容::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
&mDetailLineNo = #u トレース出力 &this, " ", _&mDetailLineNo, " 入力後"
メソッド呼び出し &mFormObjectName.更新モード取得( &mFormEditMode ) トレース出力 &this, " ", _&mFormEditMode, " ", _#eof, " 入力後"
if ( .not #eof ) 項目値代入 [編集フラグ] = #u end
手続き定義終了
手続き定義開始 prcマウスイベント初期化( )
オブジェクト操作 &mFamilyObjectName{ マウスインアウト = 0 } オブジェクト操作 &mFamilyObjectName{ マウス左ダウン = 1 } &mOnMouseDownMode = 0
オブジェクト操作 @txt内容{ 入力前 = 1, 入力後 = 1 }
手続き定義終了
手続き定義開始 prc項目値クリア( ) 変数宣言 自動,文字列{ &fieldName } 変数宣言 自動,整数 { &i, &loop, &step = 1 }
** 00h 〜 23h &loop = 23 繰り返し &i = 0, &loop, &step
&fieldName = #str( &i, 2 ) + "h" トレース出力 &i, " ", _&fieldName
項目値代入 &fieldName = #u
繰り返し終了
手続き定義終了
|