Udostępnij przez


Jak przetwarzać powiadomienia wybieracza daty i godziny

W tej sekcji przedstawiono sposób przetwarzania powiadomień selektora daty i godziny.

Co musisz wiedzieć

Technologie

  • kontrolek systemu Windows

Warunki wstępne

  • C/C++
  • Programowanie interfejsu użytkownika systemu Windows

Instrukcje

Kontrolka selektora daty i godziny (DTP) wysyła komunikaty powiadomień do okna nadrzędnego, gdy zdarzenia, zwykle wyzwalane przez dane wejściowe od użytkownika, występują w kontrolce. Aplikacja musi zawierać kod, aby określić typ wiadomości z powiadomieniem i odpowiednio odpowiedzieć.

Jeśli planujesz używać pól wywołania zwrotnego z kontrolkami DTP w aplikacji, należy przygotować się do obsługi DTN_FORMATQUERY, DTN_FORMATi DTN_WMKEYDOWN kodów powiadomień. Aby uzyskać dodatkowe informacje o polach wywołania zwrotnego, zobacz pola wywołania zwrotnego.

Poniższy przykład kodu C++ identyfikuje komunikat powiadomienia wysyłany przez kontrolkę DTP i wywołuje odpowiednią funkcję zdefiniowaną przez aplikację. Zapoznaj się z poniższymi tematami, aby zapoznać się z przykładami kodu, które ilustrują sposób przetwarzania powiadomień wyświetlanych w tym przykładzie.

Tematy
Jak przetworzyć powiadomienie DTN_DATETIMECHANGE
Jak przetworzyć powiadomienie DTN_FORMATQUERY
Jak przetwarzać powiadomień DTN_FORMAT
Jak przetworzyć powiadomienie 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;
}

powiadomienia selektora daty i godziny

Dokumentacja kontrolki wyboru daty i czasu

Używanie kontrolek selektora daty i godziny

selektor daty i godziny