Dela via


Så här bearbetar du meddelanden om datum- och tidsväljare

Det här avsnittet visar hur du bearbetar meddelanden om datum- och tidsväljare.

Vad du behöver veta

Teknologier

Förutsättningar

  • C/C++
  • Programmering av Windows-användargränssnitt

Instruktioner

En DTP-kontroll (date and time picker) skickar meddelanden till det överordnade fönstret när händelser, som vanligtvis utlöses av indata från användaren, inträffar i kontrollen. Programmet måste innehålla kod för att fastställa typen av meddelande och svara på rätt sätt.

Om du planerar att använda återanropsfält med DTP-kontrollerna i ditt program måste du vara beredd att hantera DTN_FORMATQUERY, DTN_FORMAToch DTN_WMKEYDOWN notifieringskoder. För ytterligare information om återuppringningsfält, se återuppringningsfält.

Följande C++-kodexempel identifierar meddelandemeddelandet som skickas av en DTP-kontroll och anropar lämplig programdefinierad funktion. I följande avsnitt finns kodexempel som visar hur du bearbetar de meddelanden som visas i det här exemplet.

Ämnen
Så här bearbetar du DTN_DATETIMECHANGE-anmälan
Så här bearbetar du DTN_FORMATQUERY-meddelandet
Så bearbetar du DTN_FORMAT-meddelandet
Så här gör du för att bearbeta DTN_WMKEYDOWN-meddelandet

 

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;
}

Meddelanden om datum- och tidsväljare

kontrollreferens för datum- och tidsväljaren

Använda kontroller för datum- och tidsväljare

datum- och tidsväljare