| 2019/03/29(Fri) 19:10:50 編集(投稿者) 2019/03/29(Fri) 18:54:20 編集(投稿者) 2019/03/29(Fri) 18:36:38 編集(投稿者)
>>任意の文字をクリックして追加するようにしたのですが、カーソルの位置が先頭に来てしまいます。どのようにすれば、入力中の最後の位置にカーソルが行くようになるでしょうか。 > 桐10 windows10 で処理しています。
添付のサンプルをご覧ください。
modify追加文字.WFX modify追加文字.KEX
<追記>
手続き定義開始 フォーム::フォーム開始(長整数 &表番号) メソッド呼び出し @フォーム.更新モード設定( 2 ) 手続き定義終了
↑この部分は、ワークスペースに配置したコマンドボタン:cmd開始時実行を[開始時実行コマンド]ボタンとして実行しています。
オブジェクト名:cmd開始時実行コマンド 機能名 1 訂正 2 なし 3 なし 4 なし
ラベルオブジェクトはコマンドボタンに変更しました。
オブジェクト名:cmd追加文字★ 機能名 機能パラメータリスト 1 訂正 2 手続き実行 cmd追加文字★Click 3 編集制御 8 4 なし
手続き定義開始 cmd追加文字★Click( ) 変数宣言 自動,文字列{ &string } 変数宣言 自動,整数 { &return }
** &文字 = &文字 + "★"
メソッド呼び出し 戻り値 = &return, @txt文字.編集文字列取得( &string ) &string = &string + "★" メソッド呼び出し 戻り値 = &return, @txt文字.編集文字列設定( &string )
手続き定義終了
<さらに追記>
なお、以下のようにコマンドボタンの3行めの[機能名:編集制御 8]を[機能名:なし]にした場合には、
オブジェクト名:cmd追加文字★ 機能名 機能パラメータリスト 1 訂正 2 手続き実行 cmd追加文字★Click 3 なし 4 なし
二つ一組のメソッドを実行すると、キャレットは末尾に移動します。
メソッド呼び出し 戻り値 = &return,@txt文字.編集選択位置設定( 1 ,-1 ) メソッド呼び出し 戻り値 = &return,@txt文字.編集選択位置設定( 0 ,0 )
手続き定義開始 cmd追加文字★Click( ) 変数宣言 自動,文字列{ &string } 変数宣言 自動,整数 { &return }
** &文字 = &文字 + "★"
メソッド呼び出し 戻り値 = &return, @txt文字.編集文字列取得( &string ) &string = &string + "★" メソッド呼び出し 戻り値 = &return, @txt文字.編集文字列設定( &string )
メソッド呼び出し 戻り値 = &return,@txt文字.編集選択位置設定( 1 ,-1 ) メソッド呼び出し 戻り値 = &return,@txt文字.編集選択位置設定( 0 ,0 )
手続き定義終了
|