カーソルを移動する
カーソルを指定したコントロールに移動します。
構文:
CtrlGoto(コントロール名、行番号、世代番号)
パラメータ:
コントロール名 …… フォームにレイアウトしたコントロールのコントロール名
行番号 …… コントロールがテーブル内にある場合の行番号。0 の場合は、現在の行。テーブルに1つしかコントロールがない場合は無視されます。
世代番号 …… タスクの階層位置を表す番号。カレントのタスクが0、親タスクが1、その親タスクが2 などとなります。
戻り値:
論理値 …… 処理に成功した場合「True」が返ります。
以下のような場合、処理は失敗します。
コントロールが見つからない場合
コントロールが不可視の場合
指定した行が存在しない場合
指定したタスクにウィンドウがない場合
指定したタスクが存在しない場合
例:
CtrlGoto('Customer_Name',3,0)
現在のタスクのウィンドウに表示されるテーブルの3行目のコントロール「Customer_Name」にパークします。
補足事項:
フローモードは以下のようになります。
C1,C2,C3 の順でテーブルにカラムがあると仮定します。
同一行でC1からC3へは、順方向に高速モードで移動します。
同一行でC3からC1へは、逆方向に高速モードで移動します。
1行目のC1から、2行目のC3へ移動する場合は、
データが修正されていれば、1行目の最後まで高速移動 → [レコード後] → 2行目のC3まで高速移動になります。
データが修正されていなければ、2行目の最初からC3まで高速移動します。
1行目のC3から、2行目のC1へは、#3 と同じになります。
パーキング条件=No のコントロールを指定すると、指定したコントロールの次にパーク可能なコントロールに移動し、戻り値はTrueになります。ただし、移動方法によっては、前のコントロールに移動する場合もあります。
注意事項:
関数の実行後、アプリケーションがアイドル状態になった時に、フォーカスが切り替わります。