Функция _GUICtrlMonthCal_GetMinReqRectArray

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


_GUICtrlMonthCal_GetMinReqRectArray

Возвращает минимальный размер, необходимый для отображения полного месяца

#include <GuiMonthCal.au3>
_GUICtrlMonthCal_GetMinReqRectArray($hWnd)

Параметры

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

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

Успех:Возвращает массив следующего формата:
[0] - Количество элементов
[1] - X-координата левого верхнего угла прямоугольника
[2] - Y-координата левого верхнего угла прямоугольника
[3] - X-координата правого нижнего угла прямоугольника
[4] - Y-координата правого нижнего угла прямоугольника
Ошибка:Возвращает -1 и устанавливает @error равным -1

Примечания

Минимально необходимый размер окна для календаря зависит от текущего выбранного шрифта, стилей, системной метрики и региональных установок.

Пример

#include <GUIConstantsEx.au3>
#include <GuiMonthCal.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

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

Global $iMemo

_Main()

Func _Main()
    Local $hMonthCal

    ; Создаёт GUI
    GUICreate("Получает минимальные размеры", 400, 300)
    $hMonthCal = GUICtrlCreateMonthCal("", 4, 4, -1, -1, BitOR($WS_BORDER, $MCS_MULTISELECT), 0x00000000)

    ; Создаёт элемент для заметок
    $iMemo = GUICtrlCreateEdit("", 4, 188, 392, 108, BitOR($WS_VSCROLL, $ES_MULTILINE))
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUICtrlSendMsg($iMemo, $EM_SETREADONLY, True, 0)
    GUICtrlSetBkColor($iMemo, 0xFFFFFF)
    GUISetState()

    ; Получает минимальную высоту / ширину
    MemoWrite(_FormatOutPut(_GUICtrlMonthCal_GetMinReqRectArray($hMonthCal)))

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

Func _FormatOutPut($aRect)
    Return "Минимальная ширина : " & $aRect[3] & @CRLF & "Минимальная высота : " & $aRect[4]
EndFunc   ;==>_FormatOutPut

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite