| 2025/08/05(Tue) 22:05:44 編集(投稿者)
ジェダイの桐さんへのお返事です
>>その後いろいろと考慮して完成度を上げております。 >>そこで、明日以降にサンプルを投稿しますので、ご意見・ご感想をよろしくお願いいたします。m(__)m > > これなんですけど、まさやんさんの質問されていた時 > ONnojiさんが提示されていたサンプルプログラムをダウンロードして > 実際に試してみたんですよ。 > > まさやんのやりたかった事が見事に実現されていて感動しました(^^ゞ > VK_Frameworkは使いどころをキッチリ押さえたら、強力なツールになると思いました!
なるほど!そうでしたか、それならば、なお好都合です。
添付ファイル test_NumInputFilter.zip があります。
添付ファイルを解凍すると次の3つのファイルがあります。
VK_数値のテキストボックス使用例.kex VK_数値のテキストボックス使用例.tbx VK_数値のテキストボックス使用例.wfx
これはその後いろいろと考慮して完成度を上げたつもりの手続きです。
是非そちらで試していただいて、ご意見・ご感想をよろしくお願いいたします。m(__)m
p.s.
■VK_数値のテキストボックス使用例.wfx
フォーム ├ ファミリ │ └ famModernUI ├ ワークスペース │ ├ INFtxtCommon │ └ INFcmdCommon ├ フォーム操作バー ← 桐10sで追加したオブジェクトなので全角カタカナです ├ フォームヘッダ部 │ ├ lblFlatButtonBorder_1 │ ├ EZWcmdズームイン │ ├ EZWcmdズームアウト │ ├ EZWtxtMagnification │ ├ INFcmdWhoAreYou │ ├ HDLVARcmdWhoAreYou │ └ ONEcmdUI変換 ├ フォーム明細部 │ ├ txt整数 │ │ └ lbl整数 │ ├ txt長整数 │ │ └ lbl長整数 │ ├ txt数値 │ │ └ lbl数値 │ ├ txt通貨 │ │ └ lbl通貨 │ └ lblFlatButtonBorder_2 └ フォームフッタ部 └ lblFlatButtonBorder_3
■手続きのネスト ※かっこで囲まれたものは VK_Framework の手続き
txt整数::入力前 │ └ prcNumInputKeySetON ├ ( VKprcEventKeyDownON ) ├ ( VKprcKeyON ) └ ( VKprcKeySet)
txt整数::入力後 │ └ prcNumInputKeySetOFF ├ ( VKprcEventKeyDownOFF ) ├ ( VKprcKeyOFF ) └ ( VKprcKeyClear )
■トレース出力
【入力前イベントハンドラを実行/VK_Frameworkをセットする】
┌when 手続き"txt整数::入力前( )"を実行開始しました │ │┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>txt整数::入力前( )を実行開始しました ││ ││┌when 手続き"prcNumInputKeySetON("txt整数")"を実行開始しました │││ │││┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>prcNumInputKeySetON( )を実行開始しました ││││ ││││ :&objectName : txt整数 &dataType : 整数 &source : [整数] ││││ :( #対応番号( &dataTypeList, &dataType ) <> 0 ) : 1 ││││ ││││┌when 手続き"VKprcEventKeyDownON( )"を実行開始しました ││││└end ││││ ││││┌when 手続き"VKprcKeyON( )"を実行開始しました ││││└end ││││ ││││┌when 手続き"VKprcKeySet("key",1,"項目訂正,訂正,行挿入","手続き実行 prcNumInputFilter( &VKmChr, &処理中止, &VKmRepeat, 0)")"を実行開始しました ││││└end ││││ ││││ :手続き実行 VKprcKeySet( "key", 1, ・・・ ││││ │││└end │││ ││└end ││ │└end │ └end
【キー:1 を押した】
┌when 手続き"フォーム::キーダウン(97,79,0,0)"を実行開始しました │ │┌when 手続き"VKprcEventKeyEval(97,79,0,0)"を実行開始しました ││ ││┌when 手続き"prcNumInputFilter("1",1,0,0)"を実行開始しました │││ │││┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>prcNumInputFilter( )を実行開始しました ││││ ││││ :( #対応番号( &keyList, &key ) <> 0 ) : 1 &key : 1 &repeat : 0 ││││ :&key : 1 &処理中止 : 0 ││││ │││└end │││ ││└end ││ │└end │ └end
【キー:2 を押した】
┌when 手続き"フォーム::キーダウン(98,80,0,0)"を実行開始しました │ │┌when 手続き"VKprcEventKeyEval(98,80,0,0)"を実行開始しました ││ ││┌when 手続き"prcNumInputFilter("2",1,0,0)"を実行開始しました │││ │││┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>prcNumInputFilter( )を実行開始しました ││││ ││││ :( #対応番号( &keyList, &key ) <> 0 ) : 1 &key : 2 &repeat : 0 ││││ :&key : 2 &処理中止 : 0 ││││ │││└end │││ ││└end ││ │└end │ └end
【キー:3 を押した】
┌when 手続き"フォーム::キーダウン(99,81,0,0)"を実行開始しました │ │┌when 手続き"VKprcEventKeyEval(99,81,0,0)"を実行開始しました ││ ││┌when 手続き"prcNumInputFilter("3",1,0,0)"を実行開始しました │││ │││┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>prcNumInputFilter( )を実行開始しました ││││ ││││ :( #対応番号( &keyList, &key ) <> 0 ) : 1 &key : 3 &repeat : 0 ││││ :&key : 3 &処理中止 : 0 ││││ │││└end │││ ││└end ││ │└end │ └end
【キー:Enter を押した】
┌when 手続き"フォーム::キーダウン(13,284,0,0)"を実行開始しました │ │┌when 手続き"VKprcEventKeyEval(13,284,0,0)"を実行開始しました ││ │└end │ └end
【入力後イベントハンドラを実行/VK_Frameworkをクリア】
┌when 手続き"txt整数::入力後("123",1,0)"を実行開始しました │ │┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>txt整数::入力後( )を実行開始しました ││ ││┌when 手続き"prcNumInputKeySetOFF( )"を実行開始しました │││ │││┌when :VK_数値のテキストボックス使用例.wfx hdl= 2>prcNumInputKeySetOFF( )を実行開始しました ││││ ││││┌when 手続き"VKprcEventKeyDownOFF( )"を実行開始しました │││││ ││││└end ││││ ││││┌when 手続き"VKprcKeyOFF( )"を実行開始しました ││││└end ││││ ││││┌when 手続き"VKprcKeyClear("key","項目訂正,訂正,行挿入")"を実行開始しました ││││└end ││││ │││└end │││ ││└end ││ │└end │ └end
|