Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
달력컴포넌트에서 OnChange이벤트핸들러를 어떻게 구현하죠?
안녕하세요.영원한 델초보 어린왕자입니다.
달력컴포넌트의 Select된 날짜가 변경될때 마다 작업을 해야 하는데 어떻하죠?
클릭할때도 변경되지만..
마우스 오른쪽 버튼을 누르면 오늘 날짜로 이동하는 메뉴가 나오는데..
그것을 선택하면 클릭하는 이벤트가 안뜨더라구요..
고로 OnChange이벤트가 있어야 할텐데요...(__);
1
COMMENTS
김일영
•
2001.10.27 13:58
안녕하세요.
언제나 분류를 기다립니다. ^^;
그리고 달력컴포넌트라고 하신게 TMonthCalendar 컴포넌트 맞으시죠?
제가 답변을 별로 해 드리지는 못하는 편이지만
관심을 가진 것은 열심히 찾아봅니다.
이 문제에 관심이 생겨서 열심히 찾아봤습니다!
헌데 해결책을 찾기란 어려울듯...
우측 버튼을 눌렀을때 나오는 그 창은
VCL 코드 차원에서 만드는 창도 아니고
MonthCalendar가 wrapping하고 있는 Common Control도 아닌,
그 Common Control이 자체적으로 우측 버튼을 눌렀을때 보여주는 창이더군요...
그래서 그건 어려울 것 같고요...(불가능한지는 모르겠지만 쉽진 않겠습니다.)
차라리 TMonthCalendar의 소스를 고쳐가지고
TMonthCalendar.MsgSetDateTime가 호출될 때 (protected procedure입니다.)
이벤트를 호출하도록 컴포넌트 코드를 바꿔서 새로 만드시는게 나을듯 합니다.
혹은 TMonthCalendar를 고친 것에 해당하는 새로운 클래스를 만드시던가요.
주의:)
MsgSetDateTime에서는 TDateTime형의 값이 전달되는게 아니라
TSystemTime형의 값이 전달됩니다. 이 값을 다시 변환하시는게 싫으시면
TMonthCalendar의 Parent Class인 TCommonCalendar의 SetDateTime 프로시저
(private procedure입니다.)까지 거슬러 올라가서 고치셔야 합니다.
TSystemTime과 TDateTime간의 변환이 어렵진 않습니다.
SysUtils 유닛의 SystemTimeToDateTime를 이용하시면 됩니다.
반대는 DateTimeToSystemTime입니다.
만약에 Common Control 내부에서의 메시지 같은 것을 가로챌 수 있다고 하더라도
TMonthCalendar 내지는 그 Parent Class인 TCommonCalendar의 소스를 고치던가
새 클래스를 만들어야 하는 것은 마찬가지입니다.
별로 신통하진 않지만...
참고가 되시길 바랍니다. (결과 알려주시면 더욱 감사)
어린왕자A wrote:
> 안녕하세요.영원한 델초보 어린왕자입니다.
>
> 달력컴포넌트의 Select된 날짜가 변경될때 마다 작업을 해야 하는데 어떻하죠?
> 클릭할때도 변경되지만..
> 마우스 오른쪽 버튼을 누르면 오늘 날짜로 이동하는 메뉴가 나오는데..
> 그것을 선택하면 클릭하는 이벤트가 안뜨더라구요..
>
> 고로 OnChange이벤트가 있어야 할텐데요...(__);
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
어린왕자A
•
2001.10.27 13:25
1
COMMENTS
/
0
LIKES
달력컴포넌트에서 OnChange이벤트핸들러를 어떻게 구현하죠?
안녕하세요.영원한 델초보 어린왕자입니다. 달력컴포넌트의 Select된 날짜가 변경될때 마다 작업을 해야 하는데 어떻하죠? 클릭할때도 변경되지만.. 마우스 오른쪽 버튼을 누르면 오늘 날짜로 이동하는 메뉴가 나오는데.. 그것을 선택하면...
김일영
•
2001.10.27 13:58
안녕하세요. 언제나 분류를 기다립니다. ^^; 그리고 달력컴포넌트라고 하신게 TMonthCalendar 컴포넌...
바부이니
2001.10.24 19:15
0
COMMENTS
/
0
LIKES
인스톨쉴드사용해서 ODBC생성시키기
영진
2001.10.24 18:59
0
COMMENTS
/
0
LIKES
RLINK32.DLL 에러.. 미치겠습니다..
방경주
2001.10.24 18:57
0
COMMENTS
/
0
LIKES
EWin32Error 임돠.....
서진현
2001.10.24 18:51
0
COMMENTS
/
0
LIKES
postmessage와 sendmessage에 대해
이광주
2001.10.24 19:50
0
COMMENTS
/
0
LIKES
특정 IP주소로 웹 데몬이 떠있는지 검사하기...
초보자
•
2001.10.24 18:40
1
COMMENTS
/
0
LIKES
interface uses와 implementation uses의 차이점
깨구락지
•
2001.10.24 20:27
전역이냐 지역이냐의 차이입니다. Interface 에서 선언된 것은 해당유닛안 혹은 그 유닛을 사용하는 곳에...
초짜
2001.10.24 18:19
0
COMMENTS
/
0
LIKES
Type Library 의 역할?
드기
•
2001.10.24 10:07
2
COMMENTS
/
0
LIKES
클래스에대한 질문입니다.
김일영
•
2001.10.24 10:35
그렇습니다. Object Pascal은 개체를 참조(Reference)로 다루기 때문에 변수를 선언했다고 해서 개체를...
드기
•
2001.10.24 21:10
^^
드기
•
2001.10.24 10:07
1
COMMENTS
/
0
LIKES
변수선언위치에 대한 질문입니다.
김일영
•
2001.10.24 10:25
안녕하세요. 원래대로라면 그 에러가 무엇인지, 왜 그런 현상이 생겼는지 올려주신 내용만으로는 제가 ...
팟팅
•
2001.10.24 10:06
2
COMMENTS
/
0
LIKES
16진수 표현법 & 문자 -> ASCII 코드 변환 & 16진수 변환
류종택
•
2001.10.24 10:06
16진수 표현은 $를 앞에 붙이면 됩니다.. $20 = Byte(' ') 아스키는 위에서 처럼.. Byte()를 쒸우면 ...
팟팅
•
2001.10.24 18:11
류종택 wrote: > 16진수 표현은 $를 앞에 붙이면 됩니다.. > $20 = Byte(' ') > > 아스키는 위에서 ...
dongdong
2001.10.24 07:30
0
COMMENTS
/
0
LIKES
DBGrid에서 항상 일정한 갯수의 Row를 보여줄 수 있나요?
오은미
2001.10.24 07:09
0
COMMENTS
/
0
LIKES
delphi6에서 TEnteraConnection를 사용할 수 있는방법좀알려주세요
누리
2001.10.24 04:55
0
COMMENTS
/
0
LIKES
calcul field의 계산결과로 grid에 뿌리기
궁금이
2001.10.24 07:29
0
COMMENTS
/
0
LIKES
[급]MS-SQL 연결여부, 접속체크 고수분 도움필요해요
급한 초보
•
2001.10.24 04:38
1
COMMENTS
/
0
LIKES
날짜 처리관련한 몇가지...
김지태
•
2001.10.24 07:10
급한 초보 wrote: > 관리하는 데이타 중에 매년 데이타를 업데이트해야하는 필드가 있는데, 이를 효율적으...
텍스트박스나 마스크
2001.10.24 04:01
0
COMMENTS
/
0
LIKES
텍스트박스나 마스크에디트박스에 숫자를 넣는데 콤마(,)가 들어가게 하는 방법
델파이 궁금이
2001.10.24 18:14
0
COMMENTS
/
0
LIKES
String Grid에 관한 질문?
바이오맨(초보)
2001.10.24 03:14
0
COMMENTS
/
0
LIKES
스트링 그리드 체크박스
초보
2001.10.24 02:59
0
COMMENTS
/
0
LIKES
이런 버튼 어디있는지 알려주세요...^^;;
어린왕자A
2001/10/27 13:25
Views
437
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
언제나 분류를 기다립니다. ^^;
그리고 달력컴포넌트라고 하신게 TMonthCalendar 컴포넌트 맞으시죠?
제가 답변을 별로 해 드리지는 못하는 편이지만
관심을 가진 것은 열심히 찾아봅니다.
이 문제에 관심이 생겨서 열심히 찾아봤습니다!
헌데 해결책을 찾기란 어려울듯...
우측 버튼을 눌렀을때 나오는 그 창은
VCL 코드 차원에서 만드는 창도 아니고
MonthCalendar가 wrapping하고 있는 Common Control도 아닌,
그 Common Control이 자체적으로 우측 버튼을 눌렀을때 보여주는 창이더군요...
그래서 그건 어려울 것 같고요...(불가능한지는 모르겠지만 쉽진 않겠습니다.)
차라리 TMonthCalendar의 소스를 고쳐가지고
TMonthCalendar.MsgSetDateTime가 호출될 때 (protected procedure입니다.)
이벤트를 호출하도록 컴포넌트 코드를 바꿔서 새로 만드시는게 나을듯 합니다.
혹은 TMonthCalendar를 고친 것에 해당하는 새로운 클래스를 만드시던가요.
주의:)
MsgSetDateTime에서는 TDateTime형의 값이 전달되는게 아니라
TSystemTime형의 값이 전달됩니다. 이 값을 다시 변환하시는게 싫으시면
TMonthCalendar의 Parent Class인 TCommonCalendar의 SetDateTime 프로시저
(private procedure입니다.)까지 거슬러 올라가서 고치셔야 합니다.
TSystemTime과 TDateTime간의 변환이 어렵진 않습니다.
SysUtils 유닛의 SystemTimeToDateTime를 이용하시면 됩니다.
반대는 DateTimeToSystemTime입니다.
만약에 Common Control 내부에서의 메시지 같은 것을 가로챌 수 있다고 하더라도
TMonthCalendar 내지는 그 Parent Class인 TCommonCalendar의 소스를 고치던가
새 클래스를 만들어야 하는 것은 마찬가지입니다.
별로 신통하진 않지만...
참고가 되시길 바랍니다. (결과 알려주시면 더욱 감사)
어린왕자A wrote:
> 안녕하세요.영원한 델초보 어린왕자입니다.
>
> 달력컴포넌트의 Select된 날짜가 변경될때 마다 작업을 해야 하는데 어떻하죠?
> 클릭할때도 변경되지만..
> 마우스 오른쪽 버튼을 누르면 오늘 날짜로 이동하는 메뉴가 나오는데..
> 그것을 선택하면 클릭하는 이벤트가 안뜨더라구요..
>
> 고로 OnChange이벤트가 있어야 할텐데요...(__);