代表的なキーメソッドを紹介します。
その他のキーメソッドについては、REFERENCE「キーメソッド一覧」を参照してください。
%moveTo() キーツリーを移動するメソッドです。
引数:
(key)移動先のキー
戻り値:
(key)移動後のキーツリー
サンプルでは、画面中央の矢印ボタンをクリックした際に、左右それぞれのエリアにある選択した行を移動しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
Kf(_Method_moveTo){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ Se{ @area{~border{~style="solid";}~margin="30"{~top;~left;~right;~bottom="0";}} @row{~back{~color="#ffffffff";}~border{~style="solid";~width{~top="0";~left="0";~right="0";~bottom="1";}}} @col{~border{~style="solid";~width{~top="0";~left="0";~right="1";~bottom="0";}}} @btn{~font{~color="#ff0080ff";}} } De{ (int).selectRow=0; (int).selectCol=0; } U{ /* 非表示(R0)の行列定義 */ R0(#base){ R(#row,@row){ Cbb(@col){ Bp{ /* 選択行列を退避 */ .selectRow?=#me\<#row%num; .selectCol?=#me<<2%num; #me<<2%editing=true; #me<<2%focus(); } Bo{ #me<<2%editing=false; } } } } /* 表示エリア */ R(#area){ C(#arealeft,@area) C0.2{ Rbb(@btn,"⇨"){ Bs{ /* %moveTo()で選択行を#arearightの子キーに移動する */ #arealeft#row(.selectRow?)%moveTo(#arearight>>1); } } Rbb(@btn,"⇦"){ Bs{ /* %moveTo()で選択行を#arearightの子キーに移動する */ #arearight#row(.selectRow?)%moveTo(#arealeft>>1); } } } C(#arearight,@area) } /* ボタンエリア */ R0.2{ C{ R0.7("行") R{ Cb(@btn,"+"){ Bs{ /* #areaの末子に行を追加する */ #arealeft%addC(#base#row); } } Cb(@btn,"-"){ Bs{ /* %delC(int)で選択した行を削除 */ #arealeft%delC(.selectRow?); } } } } C{ R0.7("列") R{ Cb(@btn,"+"){ Bs{ /* 第2引数にfalse(=0)を設定し、#rowの末子に列のみ追加する */ #arealeft#row(.selectRow?)%addC(#base#row,0); } } Cb(@btn,"-"){ Bs{ /* %delC(int)で選択した列を削除する */ #arealeft#row(.selectRow?)%delC(.selectCol?); } } } } } R0.1 Pe(#Init){ /* 初期表示 #areaの末子に行を追加する */ #arealeft%addC(#base#row); } } } |
Method_moveTo.ksf 3.68 KB