Function Reference

首页  后退  前进

GUICtrlSetResizing

 

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

 

GUICtrlSetResizing ( controlID, resizing )

参数

controlID

使用 GUICtrlCreate...() 创建控件类函数返回的控件标识符, 或设置为 -1 使用前面创建的控件.

resizing

参看下面可用的 停靠值列表 (如有需要, 可将多个值相加使用).

返回值

成功:

返回 1.

失败:

返回 0.

备注

当 GUI 窗口被调整大小时, 其所属控件也会有相应变化,至于如何变化则是由本函数定义.

要使窗口的大小可调整, 必须在创建时添加 $WS_SIZEBOX 与 $WS_SYSMENU 样式. 见 GUICreate().

 

  停靠值列表

Resizing

详细信息

$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, 则禁用自动调整.

相关

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

函数示例

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
    Opt("GUICoordMode", 2)
    GUICreate("My InputBox", 190, 114, -1, -1, $WS_SIZEBOX + $WS_SYSMENU) ; start the definition
    GUISetFont(8, -1, "Arial")
    GUICtrlCreateLabel("Prompt", 8, 7) ; add prompt info
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP)
    Local $idEdit = GUICtrlCreateInput("Default", -1, 3, 175, 20, $ES_PASSWORD) ; add the input area
    GUICtrlSetState($idEdit, $GUI_FOCUS)
    GUICtrlSetResizing($idEdit, $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
    Local $idOK = GUICtrlCreateButton("OK", -1, 3, 75, 24) ; add the button that will close the GUI
    GUICtrlSetResizing($idOK, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)
    Local $idCancel = GUICtrlCreateButton("Annuler", 25, -1) ; add the button that will close the GUI
    GUICtrlSetResizing($idCancel, $GUI_DOCKBOTTOM + $GUI_DOCKSIZE + $GUI_DOCKHCENTER)
    GUISetState(@SW_SHOW) ; to display the GUI
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example

----------------------------------------