Time-Control, lästiges UpDown entfernen?

  • Hi,
    wenn ich ein Time-Control erstelle habe ich immer ein überaus lästiges UpDown mit drinnen.
    Hat jemand eine Idee, wie ich es eliminieren kann? (ohne ein eigenes Control schreiben zu müssen)


    #include <DateTimeConstants.au3>


    GUICreate("Time Control")
    GUICtrlCreateDate( "", 5, 10, 100, 21, $DTS_TIMEFORMAT)
    GUISetState()


    Do
    Until GUIGetMsg() = -3

  • Hallo,


    folgendes klappt bei mir (solange ich die richtige ID als 3. Parameter einfüge):



    #include <DateTimeConstants.au3>


    GUICreate("Gui")
    GUICtrlCreateDate( "", 5, 10, 100, 21, $DTS_TIMEFORMAT)
    ControlHide("Time Control", "", 1000)


    GUISetState()



    Do
    Until GUIGetMsg() = -3


    Weiß leider nicht, wie man die ID des Updowns herausfindet...


    Gruß stay


    Edit: Falschen Halbsatz entfernt

  • Die ID ist in Verwendung mit DateControl immer 1000. Daher schon bei Verwendung von zwei Controls nicht mehr brauchbar.
    Class ist Standard UpDown: msctls_updown32 und ändert sich nur in der Instance. mal sehen ob sich das über die ID des DateControl ermitteln läßt.


    Edit:


    Habe eine Lösung gefunden. In Windows ist ja jedes Ctrl ein Fenster. Somit ist das Updown ein Child das DateTime-Ctrl. Also ermnittle ich das Child-Handle und setze dieses auf HIDE. :thumbup:


    #include <WinAPI.au3>
    #include <DateTimeConstants.au3>
    #include <Constants.au3>


    GUICreate("Time Control")
    $DTP = GUICtrlCreateDate( "", 5, 10, 100, 21, $DTS_TIMEFORMAT)
    WinSetState(_WinAPI_GetWindow(GUICtrlGetHandle($DTP), $GW_CHILD), '', @SW_HIDE)


    GUISetState()


    Do
    Until GUIGetMsg() = -3