Date-TimePicker Nachrichten



  • Hallo Zusammen,

    welche Nachricht muss ich denn abfangen, wenn ich auf eine Änderung des Datum im DateTimePicker reagieren will?

    Wie immer dankbar für alle Antworten.

    Gruß

    Oliver 🙂



  • DTN_DATETIMECHANGE, kommt über WM_NOTIFY



  • DTN_DATETIMECHANGE



  • Wow, Danke, schneller war ja kaum möglich!

    Gruß

    Oliver 😉



  • Sorry, nochmal ich ...

    ich habe das jetzt ausprobiert und leider funktioniert es nicht. Bisher habe ich das über eine Änderung des Datum im Picker und anschließendem Druck auf einen Button "Refresh" gehandelt. Ist aber ja eigentlich unnötig. Was ist denn damit gemeint "Kommt über WM_NOTIFY " ? Muss ich WM_NOTIFY abfangen und dan HiByte oder LoByte untersuchen? Und wenn ja, wie?

    Gruß

    Oliver 😕



  • Ich hätte das so verstanden: WM_NOTIFY abfangen und dann lParam untersuchen 🙄



  • Der Vollständigkeit halber: LoByte/HiByte (heisst das überhaupt so?) untersucht man mit LOWORD()/HIWORD(), also z.B.:

    if(LOWORD(lParam) == IRGENDEINE_KONSTANTE_ODER_WAS_ANDERES)

    cya 🙂



  • Hallo Zusammen,

    also ich habe das inzwischen so gelöst:

    // 11. Monatsauswertung
    BOOL CALLBACK DlgProc11 (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
        //diverser Code ...
        switch(message)
        {
            case WM_INITDIALOG:
                            kz_first = 0;
                CheckRadioButton(hDlg,IDC_RADIO1, IDC_RADIO7, IDC_RADIO1);
                verarbeitung = 'm';
                // Datenbank oeffnen
                            retcodeDB = connectDB();
                retcode   = DatenAusgeben(hDlg,kz_first,verarbeitung);
                return TRUE;
    
            // siehe jetzt hier:
            case WM_NOTIFY:
                 switch (((LPNMHDR) lParam)->code)
                 {
                    case DTN_DATETIMECHANGE:
                        kz_first = 1;
                        if (IsDlgButtonChecked(hDlg,IDC_RADIO1) == BST_CHECKED)
                            verarbeitung = 'm';
                        else
                            verarbeitung = 'j';
                        retcode = DatenAusgeben(hDlg,kz_first,verarbeitung);
                        return TRUE;
                    break;
                 }
            case WM_COMMAND:
                switch (LOWORD(wParam)) // OK / Abbrechen
                {
                    //Klick auf Radiobutton
                    case IDC_RADIO1:
                    case IDC_RADIO7:
                        kz_first = 1;
                        if (IsDlgButtonChecked(hDlg,IDC_RADIO1) == BST_CHECKED)
                            verarbeitung = 'm';
                        else
                            verarbeitung = 'j';
                        retcode = DatenAusgeben(hDlg,kz_first,verarbeitung);
                        return TRUE;
    
    // Und nochmal : Diverser Code
    

    Herzlichsten Dank an Alle und noch ein schönes Wochenende!!

    Gruß

    Oliver 😃



  • Ein schönes Wochenende auch dir! 🙂

    cya 🙂



  • Thx, hatte auch Probleme mit DTN_DATETIMECHANGE, aber Dank Deines Codes weiß ich jetzt, wie ich es machen kann! Crazie


Anmelden zum Antworten