函数参考


GUICtrlSetResizing

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

GUICtrlSetResizing ( 控件ID, 调整方式 )

参数

控件ID 控件标识符(控件ID),可由 GUICtrlCreate... 函数的返回值获得.
调整方式 请查看下面的 停靠值列表 了解可用数值(可按需把相应数值相加).

返回值

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

注意/说明

当 GUI 窗口被调整大小时,其所属控件也会有相应变化,至于如何变化则是由本函数定义的.若要使某个 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=768)
$GUI_DOCKMENUBAR 544 512+32=544,表示控件将保持在窗口上方并且高度不变
$GUI_DOCKSTATEBAR 576 512+64=576,表示控件将保持在窗口底部并且高度不变
$GUI_DOCKALL 802 2+32+256+512=802,表示(在窗口被调整大小时)控件位置将一直不变
$GUI_DOCKBORDERS 102 (2+4+32+64) so the control will grow as the window

The default resizing for a given control is control dependent see the control doc.
A default value for any control can be set with GUIResizeMode (Option).

The automatic resizing event can be disabled if GUIEventOptions (Option) is set to 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("My InputBox", 190, 114, -1, -1, $WS_SIZEBOX + $WS_SYSMENU) ; start the definition
    GUISetIcon("Eiffel Tower.ico")

    GUISetFont(8, -1, "Arial")

    GUICtrlCreateLabel("Prompt", 8, 7) ; add prompt info
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP)

    $nEdit = GUICtrlCreateInput("Default", -1, 3, 175, 20, $ES_PASSWORD) ; add the input area
    GUICtrlSetState($nEdit, $GUI_FOCUS)
    GUICtrlSetResizing($nEdit, $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)

    $nOk = GUICtrlCreateButton("OK", -1, 3, 75, 24) ; add the button that will close the GUI
    GUICtrlSetResizing($nOk, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)

    $nCancel = GUICtrlCreateButton("Annuler", 25, -1) ; add the button that will close the GUI
    GUICtrlSetResizing($nCancel, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)

    GUISetState() ; to display the GUI

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

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