EditBox内のカーソル位置


Toney  2004-04-01 02:16:33  No: 53420

Edit内のカーソルの位置を一番最後に移動させようとしています。
調べていたらSetSel関数と言うのがありましたが、メンバがintで
宣言してある為、「SetSelはintのメンバではありません」とエラー
が表示してしまいます。どうすればよいのでしょうか?


たく  2004-04-01 20:41:02  No: 53421

案1.メンバ変数の型をコントロール(CEdit)にして何とかする
案2.コントロールのポインタを取得してCEdit*にキャストして何とかする
案3.コントロールのハンドルを取得してEM_SETSELを投げる

案2
CString str;
GetDlgItemText(IDC_EDIT1, str);
int pos = str.GetLength();
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
pEdit->SetFocus();
pEdit->SetSel(pos, pos);


たく  2004-04-01 20:41:48  No: 53422

なんでSetFocus()しちゃったんだろw
これ必要ないです。


Toney  2004-04-02 00:58:07  No: 53423

たく様、回答ありがとうございます。

数字を入力した場合はカーソルがEditボックスの一番最後に移動することが
出来ました。しかし、文字を入力した場合には移動しませんでした。今その
部分を修正している所です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加