- Сообщения
- 8,671
- Репутация
- 2,481
AutoIt: 3.3.6.1
Версия: 1.2
Категория: Мышь и клавиатура, Элементы GUI
Описание: Простая библиотека позволяющая задать режим изменения размера элементов GUI, методом перетаскивания границы элементов.
Синтаксис использования:
$hWnd -> Дескриптор окна (возвращаемый функцией GUICreate()).
$nCtrlID -> [Optional] ID элемента (поддерживается -1 для указания последнего созданного элемента).
$iWait -> [Optional] Время задержки между попытками изменения размера (в миллисекундах).
$iCtrlMinSize -> [Optional] Минимальный изменяемый размер.
$iResizeEdgeFlags -> [Optional] Флаги для режима изменения размера, см. константы флагов (по умолчанию -1, изменять во всех режимах).
Доступные флаги:
Для отключения режима изменения размера у определённого элемента, просто вызовите функцию таким образом:
Пример:
Файл: GUICtrlSetResizing.zip
Скнимок:
История версий:
Источник: www.autoit.script.ru
Автор(ы): G.Sandler (CreatoR)
Версия: 1.2
Категория: Мышь
Описание: Простая библиотека позволяющая задать режим изменения размера элементов GUI, методом перетаскивания границы элементов.
Синтаксис использования:
Код:
_GUICtrl_SetOnResize($hWnd [, $nCtrlID = -1 [, $iWait = 10 [, $iCtrlMinSize = $iGCSOR_DefCtrlMinSize [, $iResizeEdgeFlags = -1]]]])
$hWnd -> Дескриптор окна (возвращаемый функцией GUICreate()).
$nCtrlID -> [Optional] ID элемента (поддерживается -1 для указания последнего созданного элемента).
$iWait -> [Optional] Время задержки между попытками изменения размера (в миллисекундах).
$iCtrlMinSize -> [Optional] Минимальный изменяемый размер.
$iResizeEdgeFlags -> [Optional] Флаги для режима изменения размера, см. константы флагов (по умолчанию -1, изменять во всех режимах).
Доступные флаги:
$iGCSOR_RESIZE_LEFT - Изменение размера с левой стороны элемента
$iGCSOR_RESIZE_RIGHT - Изменение размера с правой стороны элемента
$iGCSOR_RESIZE_TOP - Изменение размера с верхней границы элемента
$iGCSOR_RESIZE_BOTTOM - Изменение размера с нижней границы элемента
$iGCSOR_RESIZE_LEFTTOPCORNER - Изменение размера с верхнего-левого угла элемента
$iGCSOR_RESIZE_LEFTBOTTOMCORNER - Изменение размера с нижнего-левого угла элемента
$iGCSOR_RESIZE_RIGHTTOPCORNER - Изменение размера верхнего-правого угла элемента
$iGCSOR_RESIZE_RIGHTBOTTOMCORNER - Изменение размера с нижнего-правого угла элемента
$iGCSOR_RESIZE_ALLCORNERS - Изменение размера со всех углов элемента
$iGCSOR_RESIZE_ALL - Изменение размера со всех сторон элемента
$iGCSOR_RESIZE_RIGHT - Изменение размера с правой стороны элемента
$iGCSOR_RESIZE_TOP - Изменение размера с верхней границы элемента
$iGCSOR_RESIZE_BOTTOM - Изменение размера с нижней границы элемента
$iGCSOR_RESIZE_LEFTTOPCORNER - Изменение размера с верхнего-левого угла элемента
$iGCSOR_RESIZE_LEFTBOTTOMCORNER - Изменение размера с нижнего-левого угла элемента
$iGCSOR_RESIZE_RIGHTTOPCORNER - Изменение размера верхнего-правого угла элемента
$iGCSOR_RESIZE_RIGHTBOTTOMCORNER - Изменение размера с нижнего-правого угла элемента
$iGCSOR_RESIZE_ALLCORNERS - Изменение размера со всех углов элемента
$iGCSOR_RESIZE_ALL - Изменение размера со всех сторон элемента
Для отключения режима изменения размера у определённого элемента, просто вызовите функцию таким образом:
Код:
_GUICtrl_SetOnResize(-1, $iCtrlID)
Пример:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "GUICtrlSetResizing.au3"
$hGUI = GUICreate("_GUICtrl_SetOnResize - Example", 700, 480) ;, -1, -1, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
$Edit = GUICtrlCreateEdit("Resize only Left edge", 40, 40, 280, 200)
_GUICtrl_SetOnResize($hGUI, $Edit, 10, $iGCSOR_DefCtrlMinSize, $iGCSOR_RESIZE_LEFT) ;Resize only Left edge (-1 or $iGCSOR_RESIZE_ALL to resize all)
$ListView = GUICtrlCreateListView("ListView Column", 340, 40, 300, 200)
GUICtrlCreateListViewItem("Item (Top + Bottom)", $ListView)
_GUICtrl_SetOnResize($hGUI, $ListView, 10, $iGCSOR_DefCtrlMinSize, BitOR($iGCSOR_RESIZE_TOP, $iGCSOR_RESIZE_BOTTOM)) ;Resize Top + Bottom
$Checkbox = GUICtrlCreateCheckbox("Some Checkbox (Left + Right)", 40, 270)
GUICtrlSetBkColor(-1, 0xFFFFFF)
_GUICtrl_SetOnResize($hGUI, $Checkbox, 10, $iGCSOR_DefCtrlMinSize, BitOR($iGCSOR_RESIZE_LEFT, $iGCSOR_RESIZE_RIGHT)) ;Resize Left + Right
$Label = GUICtrlCreateLabel("Some Label (Top + Right)", 40, 320, -1, 15)
GUICtrlSetBkColor(-1, 0x0000FF)
GUICtrlSetColor(-1, 0xFFFFFF)
_GUICtrl_SetOnResize($hGUI, $Label, 10, 15, BitOR($iGCSOR_RESIZE_TOP, $iGCSOR_RESIZE_RIGHT)) ;Resize Top + Right
$Button = GUICtrlCreateButton("Some Button (All corners)", 40, 370, 160, 40)
_GUICtrl_SetOnResize($hGUI, $Button, 10, $iGCSOR_DefCtrlMinSize, $iGCSOR_RESIZE_ALLCORNERS) ;Resize All Corners
GUISetState(@SW_SHOW, $hGUI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Файл: GUICtrlSetResizing.zip
Скнимок:
История версий:
1.2
* Имена констант флагов изменены с $iGCSOR_*_EDGE на $iGCSOR_RESIZE_*.
+ Добавлены флаги для установки режимов изменения размера с углов элемента:
$iGCSOR_RESIZE_LEFTTOPCORNER, $iGCSOR_RESIZE_LEFTBOTTOMCORNER
$iGCSOR_RESIZE_RIGHTTOPCORNER, $iGCSOR_RESIZE_RIGHTBOTTOMCORNER
- Для установки режима изменения размера со всех углов элемента, используйте $iGCSOR_RESIZE_ALLCORNERS.
+ Добавлен флаг $iGCSOR_RESIZE_ALL (вместо -1).
* Исправлена проблема с восстановлением оригинальных размеров элементов после изменения размера главного (родительского) окна (при использований стиля $WS_SIZEBOX).
* Теперь изменение размера элементов ограничено размером родительского окна (элементы больше не могут растягиваться за пределы главного окна).
* Обновлён пример.
* Обновлена/добавлена документация.
1.1
* Совместимость с 3.3.6.1
+ Добавлена возможность указать режим изменения размера.
* Глобальное улучшение работы библиотеки.
1.0
* Первая версия.
* Имена констант флагов изменены с $iGCSOR_*_EDGE на $iGCSOR_RESIZE_*.
+ Добавлены флаги для установки режимов изменения размера с углов элемента:
$iGCSOR_RESIZE_LEFTTOPCORNER, $iGCSOR_RESIZE_LEFTBOTTOMCORNER
$iGCSOR_RESIZE_RIGHTTOPCORNER, $iGCSOR_RESIZE_RIGHTBOTTOMCORNER
- Для установки режима изменения размера со всех углов элемента, используйте $iGCSOR_RESIZE_ALLCORNERS.
+ Добавлен флаг $iGCSOR_RESIZE_ALL (вместо -1).
* Исправлена проблема с восстановлением оригинальных размеров элементов после изменения размера главного (родительского) окна (при использований стиля $WS_SIZEBOX).
* Теперь изменение размера элементов ограничено размером родительского окна (элементы больше не могут растягиваться за пределы главного окна).
* Обновлён пример.
* Обновлена/добавлена документация.
1.1
* Совместимость с 3.3.6.1
+ Добавлена возможность указать режим изменения размера.
* Глобальное улучшение работы библиотеки.
1.0
* Первая версия.
Источник: www.autoit.script.ru
Автор(ы): G.Sandler (CreatoR)