에디트에 숫자를 입력할 때마다 체인지이벤트를 걸어서 천단위마다 콤마를 표시하게 했는데,다음과 같은 에러가 납니다.
입력 커서위치(|)
2 2|
23 23|
345 345|
4567 |4,567
67895 6|7,895
989567 98|9,567
2345674 |2,345,674
자료를 입력할 때마다 커서가 맨 뒤에 있어야 하는데 체인지이벤트가 발생하면 콤마는 제대로 표시 되는데 위와 같이 커서가 자꾸 앞으로 이동 됩니다.
참고로 OnExit 이벤트를 사용하면 콤마는 제대로 표시되는데,숫자의 입력이 다 끝나고 나서야 콤마가 표시된다는 단점이 있습니다.
또, 커서의 위치를 체인지이벤트가 발생할 때마다 맨 뒤로 보내려고도 했는데,이렇게 하면 중간에 있는 숫자를 하나 지우고 나면 곧바로 커서가 맨 뒤로 가 버린다는 단점도 이씁니다.
궁금사항은 커서가 항상 뒤에 있어야 하고,중간의 숫자를 지우더라도 그 위치에 있는 것입니다.많은 도움 바랍니다.
커서는 젤 앞으로 갑니다...
잘 생각은 안 나지만...
Edit1.SelStart := Length(Edit1.Text);
요렇케 함 되던 거 같더군요....
궁금이 wrote:
> 에디트에 숫자를 입력할 때마다 체인지이벤트를 걸어서 천단위마다 콤마를 표시하게 했는데,다음과 같은 에러가 납니다.
>
> 입력 커서위치(|)
> 2 2|
> 23 23|
> 345 345|
> 4567 |4,567
> 67895 6|7,895
> 989567 98|9,567
> 2345674 |2,345,674
>
> 자료를 입력할 때마다 커서가 맨 뒤에 있어야 하는데 체인지이벤트가 발생하면 콤마는 제대로 표시 되는데 위와 같이 커서가 자꾸 앞으로 이동 됩니다.
> 참고로 OnExit 이벤트를 사용하면 콤마는 제대로 표시되는데,숫자의 입력이 다 끝나고 나서야 콤마가 표시된다는 단점이 있습니다.
> 또, 커서의 위치를 체인지이벤트가 발생할 때마다 맨 뒤로 보내려고도 했는데,이렇게 하면 중간에 있는 숫자를 하나 지우고 나면 곧바로 커서가 맨 뒤로 가 버린다는 단점도 이씁니다.
>
> 궁금사항은 커서가 항상 뒤에 있어야 하고,중간의 숫자를 지우더라도 그 위치에 있는 것입니다.많은 도움 바랍니다.
>