TDatetimePicker 에서 날짜 선택시 어떤 처리를 할때 다음과 같은 문제점이 있다.
TDatetimePicker 의 onChange 이벤트는
1. 기본적으로 두번 발생한다. 또한 중간에 월 을 이동하면 계속 onChange가 발생한다.
2. 직접 타이핑시에는 바뀔때 마다 발생한다.
3. 코드상에서 날짜를 할당해서는 발생하지 않는다. 그나마 다행이다. 초기값 등을 할당할 때 발생하지 않는다는 뜻.
4. onCloseup 이벤트는 한번만 발생한다. 하지만 타이핑에 의한 것은 onCloseup에서 발생하지 않는다.
따라서 TDatetimePicker에서 이벤트는 사용하지 않고 별도의 검색 버튼을 누를 때 날짜 조건을 사용하는 것도 방법이지만
검색 버튼 을 만들지 않고 심플하게 날짜 선택시 바로 검색되길 원한다면..
해결방법으로
1. onKeyPress에서 모든 값을 무시하게 Key := #0 그리고 방향키도 무시하려면 onKeyDown에서 Key := 0 으로 하고
( ReadOnly 속성이 없어서)
onCloseup 이벤트에서 처리하여 꼭 달력에서 날짜를 선택하게한다.
(참고) onKeyPress에서는 변수 Key가 Char형이라 방향키 등을 인식 못한다.
'델파이' 카테고리의 다른 글
ADO 이용한 엑셀(*.xlsx), 콤마구분자파일(*.csv), 탭구분자파일(*.txt) 자료 읽기 (0) | 2015.01.01 |
---|---|
format함수 formatdatetime 함수 Formatting 스트링, 초단위->시분초단위 (0) | 2014.10.07 |
숫자함수( Int, Trunc, Round, SimpleRoundTo) (0) | 2014.07.07 |
CommaText, StrictDelimiter, ExtractStrings함수 (0) | 2014.06.02 |
로컬파일 날짜 구하기( OS timestamp형식, 날짜형식) (0) | 2014.05.21 |