날짜 및 시간 선택기 알림을 처리하는 방법
이 섹션에서는 날짜 및 시간 선택기 알림을 처리하는 방법을 보여 줍니다.
알아야 하는 작업
기술
필수 구성 요소
- C/C++
- Windows 사용자 인터페이스 프로그래밍
지침
DTP(날짜 및 시간 선택기) 컨트롤은 일반적으로 사용자의 입력에 의해 트리거되는 이벤트가 컨트롤에서 발생할 때 부모 창에 알림 메시지를 보냅니다. 애플리케이션에는 알림 메시지 형식을 결정하고 적절하게 응답하는 코드가 포함되어야 합니다.
애플리케이션에서 DTP 컨트롤과 함께 콜백 필드를 사용하려는 경우 DTN_FORMATQUERY, DTN_FORMAT 및 DTN_WMKEYDOWN 알림 코드를 처리할 준비가 되어 있어야 합니다. 콜백 필드에 대한 자세한 내용은 콜백 필드를 참조하세요.
다음 C++ 코드 예는 DTP 컨트롤에서 보낸 알림 메시지를 식별하고 적절한 애플리케이션 정의 함수를 호출합니다. 이 예에 나타나는 알림을 처리하는 방법을 설명하는 코드 예는 다음 항목을 참조하세요.
토픽 |
---|
DTN_DATETIMECHANGE 알림을 처리하는 방법 |
DTN_FORMATQUERY 알림 처리 방법 |
DTN_FORMAT 알림을 처리하는 방법 |
DTN_WMKEYDOWN 알림 처리 방법 |
BOOL WINAPI DoNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
LPNMHDR hdr = (LPNMHDR)lParam;
switch(hdr->code){
case DTN_DATETIMECHANGE:{
LPNMDATETIMECHANGE lpChange = (LPNMDATETIMECHANGE)lParam;
DoDateTimeChange(lpChange);
}
break;
case DTN_FORMATQUERY:{
LPNMDATETIMEFORMATQUERY lpDTFQuery = (LPNMDATETIMEFORMATQUERY)lParam;
// Process DTN_FORMATQUERY to ensure that the control
// displays callback information properly.
DoFormatQuery(hdr->hwndFrom, lpDTFQuery);
}
break;
case DTN_FORMAT:{
LPNMDATETIMEFORMAT lpNMFormat = (LPNMDATETIMEFORMAT) lParam;
// Process DTN_FORMAT to supply information about callback
// fields (fields) in the DTP control.
DoFormat(hdr->hwndFrom, lpNMFormat);
}
break;
case DTN_WMKEYDOWN:{
LPNMDATETIMEWMKEYDOWN lpDTKeystroke =
(LPNMDATETIMEWMKEYDOWN)lParam;
// Process DTN_WMKEYDOWN to respond to a user's keystroke in
// a callback field.
DoWMKeydown(hdr->hwndFrom, lpDTKeystroke);
}
break;
}
// All of the above notifications require the owner to return zero.
return FALSE;
}
관련 항목