その他のキーメソッドについては、REFERENCE「キーメソッド一覧」を参照してください。
%delC() キーから子キーツリーを切り離すメソッドです。引数がないとき、すべての子を切り離します。キーツリーを動的に変更する際に使用します。
引数:
[(int) 切り離す子の子番号(=0)],
[(int)繰り返しの回数(=1)]
戻り値:
(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  | 
						Kf(_Method_delC){ 	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";}}} 	} 	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,@area) 		/* ボタンエリア */ 		R0.2{ 			C{ 				R0.7("行") 				R{ 					Cb("+"){ 						Bs{ 							/* #areaの末子に行を追加する */ 							#area%addC(#base#row); 						} 					} 					Cb("-"){ 						Bs{ 							/* %delC(int)で選択した行を削除 */ 							#area%delC(.selectRow?); 						} 					} 				} 			} 			C{ 				R0.7("列") 				R{ 					Cb("+"){ 						Bs{ 							/* 第2引数にfalse(=0)を設定し、#rowの末子に列のみ追加する */ 							#area#row(.selectRow?)%addC(#base#row,0); 						} 					} 					Cb("-"){ 						Bs{ 							/* %delC(int)で選択した列を削除する */ 							#area#row(.selectRow?)%delC(.selectCol?); 						} 					} 				} 			} 		} 		R0.1 		Pe(#Init){ 			/* 初期表示 #areaの末子に行を追加する */ 			#area%addC(#base#row); 		} 	} }  | 
					
Method_delC.ksf 2.82 KB
            
        
    実行結果