基 础 函 数 参 考


GUICtrlSetResizing

设置控件大小的调整方式.

GUICtrlSetResizing ( 控件ID, 调整方式 )

参 数

控件ID GUICtrlCreate... 函数返回的控件标识符.
调整方式 参看下面可用的 停靠值列表 (如有需要, 可将多个值相加使用).

返 回 值

成功: 返回 1.
失败: 返回 0.

备 注

当 GUI 窗口被调整大小时, 其所属控件也会有相应变化,至于如何变化则是由本函数定义.
要使窗口的大小可调整, 必须在创建时添加 $WS_SIZEBOX 与 $WS_SYSMENU 样式. 参考 GUICreate.

    停靠值列表


调整 详细信息
$GUI_DOCKAUTO 1 按照新窗口的大小重新定位
$GUI_DOCKLEFT 2 左边
$GUI_DOCKRIGHT 4 右边
$GUI_DOCKHCENTER 8 水平居中
$GUI_DOCKTOP 32 上方
$GUI_DOCKBOTTOM 64 底部
$GUI_DOCKVCENTER 128 垂直居中
$GUI_DOCKWIDTH 256 宽度不变
$GUI_DOCKHEIGHT 512 高度不变
以下为值相加的混合方式
$GUI_DOCKSIZE 768 (256+512) 大小不变
$GUI_DOCKMENUBAR 544 (512+32) 控件停留在窗口上方, 高度不变
$GUI_DOCKSTATEBAR 576 (512+64) 控件停留在窗口底部, 高度不变
$GUI_DOCKALL 802 (2+32+256+512) 调整窗口大小时不移动控件位置
$GUI_DOCKBORDERS 102 (2+4+32+64) 控件将扩大为窗口大小

控件的默认调整依赖控件的调整格式.
任何控件的默认调整可以由 GUIResizeMode(选项) 设置.

如果 GUIEventOptions(选项) 设置为 1, 则禁用自动调整.

相 关 函 数

GUIResizeMode (Option), GUIEventOptions (Option), GUICtrlCreate...

函 数 示 例


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

Example()

Func Example()
    Local $nEdit, $nOk, $nCancel, $msg

    Opt("GUICoordMode", 2)
    GUICreate("我的输入框", 190, 114, -1, -1, $WS_SIZEBOX + $WS_SYSMENU) ; 开始定义
    GUISetIcon("Eiffel Tower.ico")

    GUISetFont(8, -1, "Arial")

    GUICtrlCreateLabel("提示", 8, 7) ; 添加提示信息
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP)

    $nEdit = GUICtrlCreateInput("默认", -1, 3, 175, 20, $ES_PASSWORD) ; 添加输入控件
    GUICtrlSetState($nEdit, $GUI_FOCUS)
    GUICtrlSetResizing($nEdit, $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)

    $nOk = GUICtrlCreateButton("确定", -1, 3, 75, 24) ; 添加关闭 GUI 的按钮
    GUICtrlSetResizing($nOk, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)

    $nCancel = GUICtrlCreateButton("取消", 25, -1) ; 添加关闭 GUI 的按钮
    GUICtrlSetResizing($nCancel, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)

    GUISetState() ; 显示 GUI

    ; 运行 GUI, 直到 GUI 被关闭
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
EndFunc   ;==>Example

provider with jb51.net (unicode)