Condividi tramite


Come elaborare le notifiche di selezione data e ora

Questa sezione illustra come elaborare le notifiche di selezione di data e ora.

Informazioni importanti

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Istruzioni

Un controllo selezione data e ora (DTP) invia messaggi di notifica alla finestra padre quando gli eventi, in genere attivati dall'input dell'utente, si verificano nel controllo . L'applicazione deve includere il codice per determinare il tipo di messaggio di notifica e rispondere in modo appropriato.

Se si prevede di usare i campi di callback con i controlli DTP nell'applicazione, è necessario essere pronti a gestire DTN_FORMATQUERY, DTN_FORMAT e DTN_WMKEYDOWN codici di notifica. Per altre informazioni sui campi di callback, vedere Campi di callback.

L'esempio di codice C++ seguente identifica il messaggio di notifica inviato da un controllo DTP e chiama la funzione definita dall'applicazione appropriata. Fare riferimento agli argomenti seguenti per esempi di codice che illustrano come elaborare le notifiche visualizzate in questo esempio.

Argomenti
Come elaborare la notifica di DTN_DATETIMECHANGE
Come elaborare la notifica di DTN_FORMATQUERY
Come elaborare la notifica di DTN_FORMAT
Come elaborare la notifica di 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;
}

Notifiche selezione data e ora

Informazioni di riferimento sul controllo Selezione data e ora

Uso di controlli selezione data e ora

Selezione data e ora