_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