DateTimePicker



  • Hallo,
    habe in VC++ 6 mit dem Dialogmanager ein DateTimePicker-und ListView-Steuerelement eingebaut. Auf Win XP läuft auch alles wie gewünscht, aber auf
    Win2000 nicht. Hier erscheint der Dialog überhaupt erst wenn ich die Einstellung
    'keine fehlerhaften erstellen' gesetzt habe. Die oben genannten Steuerelemente werden nicht erzeugt.
    Nach langem suchen im Forum bin ich dann auf 'InitCommonControlsEX' gestossen,
    jetzt erscheint zwar das ListView jedoch nicht DateTimePicker.
    Wer kann mir da weiterhelfen?
    mfg ralmera


  • Mod

    Windows 2000 ist mausetod!

    Du verwendest evtl. einen Stil, den Windows 2000 nicht untersützt.
    Da die MSDN aber keine Infos mehr zu Windows 2000 führt (was OK ist), kann ich Dir nicht mal sagen, welche Stile mit welcher Version zusammenhängen.

    DTS_SHORTDATECENTURYFORMAT geht z.B. nur ab Version 5.80 der Common Controls.



  • INITCOMMONCONTROLSEX iccex;
    iccex.dwSize = sizeof(iccex);
    iccex.dwICC = ICC_DATE_CLASSES | ICC_LISTVIEW_CLASSES;
    InitCommonControlsEx(&iccex);
    

    Bei den Styles hat sich in den letzten 10 Jahren übrigens nichts geändert.



  • Genau so hatte ich es bereits versucht, es erscheint aber nur das ListView,
    DateTimePicker bleibt verschollen?!



  • Hab jetzt die oben gezeigten 4 Zeilen Code von der Dialogprozedur nach WinMain
    verschoben und siehe da, es funktioniert.


  • Mod

    ralmera schrieb:

    Hab jetzt die oben gezeigten 4 Zeilen Code von der Dialogprozedur nach WinMain
    verschoben und siehe da, es funktioniert.

    Das wundert nicht. Denn dann waren die Fensterklassen nicht verfügbar als der Dialog angelegt wurde.
    Diese Init Funktion lädt nur die CommCtrl DLL im den Prozesskontext und registriert die Fensterklassen.


Anmelden zum Antworten