Функция _GUICtrlDTP_GetMonthCal

         Описание функции


_GUICtrlDTP_GetMonthCal

Возвращает дескриптор дочернего элемента - календаря месяца

#include <GuiDateTimePicker.au3>
_GUICtrlDTP_GetMonthCal($hWnd)

Параметры

$hWnd Дескриптор элемента

Возвращаемое значение

Успех:Возвращает дескриптор календаря месяца
Ошибка:Возвращает 0

Примечания

Элемент DTP создаёт дочерний элемент - календарь месяца, когда пользователь кликает на стрелку вниз для раскрытия (уведомление $DTN_DROPDOWN). Когда календарь месяца больше не нужен, он будет уничтожается (уведомление $DTN_CLOSEUP отправляется для уничтожения). Поэтому приложение не должно полагаться на статический дескриптор календаря месяца дочернего элемента DTP.

Пример

#include <GUIConstantsEx.au3>
#include <GuiDateTimePicker.au3>

$Debug_DTP = False ; Проверяет ClassName передаваемый в DTP функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hGui, $hDTP, $iMemo, $hChild

    ; Создаёт GUI
    $hGui = GUICreate("Получает дескриптор дочернего элемента - календаря", 400, 300)
    $hDTP = _GUICtrlDTP_Create($hGui, 2, 6, 190)
    $iMemo = GUICtrlCreateEdit("", 2, 32, 396, 266, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Устанавливает формат строки
    _GUICtrlDTP_SetFormat($hDTP, "ddd MMM dd, yyyy hh:mm ttt")

    ; Получает дескриптор дочернего элемента - календаря
    ; К сожалению этот дескриптор можно получить только при развёрнутом календаре
    $hChild = _GUICtrlDTP_GetMonthCal($hDTP)
    GUICtrlSetData($iMemo, _
    "Дескриптор дочернего календаря: " & "0x" & Hex($hChild) & @CRLF & _
    "IsPtr=" & IsPtr($hChild) & @CRLF & "IsHwnd=" & IsHWnd($hChild) & @CRLF)

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main