函数参考


_GUICtrlMonthCal_GetMinReqRectArray

检索显示完整月历所需的最低尺寸

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

参数

$hWnd 控件句柄

返回值

成功: 返回如下格式的数组:
[0] - 元素数量
[1] - 月历左上角 X 坐标
[2] - 月历左上角 Y 坐标
[3] - 月历右下角 X 坐标,如[1]为 0 , 则此值可看作月历的宽度
[4] - 月历右下角 Y 坐标,如[2]为 0 , 则此值可看作月历的高度
失败: 返回 FalseSuccess:True, Handle is set to 0 ( 成功: 返回 True, 句柄设置为 0 ) Failure:False (
失败: 返回 False )

注意/说明

 月日历控件所需的窗口大小取决于当前选定的字体,
 控件样式, 运行的系统和区域设置.

相关

示例/演示


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

$Debug_MC = False ; 检查传递给 MonthCal 函数的类名, 设置为 True 并使用指向另一控件的句柄来检查它是否工作

Global $iMemo

_Main()

Func _Main()
    Local $hMonthCal

    ; 创建 GUI
    GUICreate("Month Calendar Get Min Req Rect Array", 400, 300)
    $hMonthCal = GUICtrlCreateMonthCal("", 4, 4, -1, -1, BitOR($WS_BORDER, $MCS_MULTISELECT), 0x00000000)

    ; 创建 memo 控件
    $iMemo = GUICtrlCreateEdit("", 4, 168, 392, 128, 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 "Minimum required Width: " & @TAB & $aRect[3] & @CRLF & "Minimum required Height:" & @TAB & $aRect[4]
EndFunc   ;==>_FormatOutPut

; 写入消息到 memo
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite