DyadyaGenya
Знающий
- Сообщения
- 305
- Репутация
- 10
Доброго времени суток. Очень давно не делал ничего на автоите, почти всё забыл. Не могу вспомнить, как сделать чтобы само окно было резиновым, в нём несколько регионов и группа регионов была с фиксированным размером. Вот примерный код окошка:
И прикрепляю скрин, как хотелось бы
Код:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
; Создание главного окна
GUICreate("Таблица элементов питания", 1000, 800, -1, -1, $WS_SIZEBOX)
; Первый регион для выбора (фиксированный размер, уменьшенная высота)
GUICtrlCreateGroup("", 10, 10, 300, 250) ; Фиксированная ширина 300, высота 250
Local $cboState = GUICtrlCreateCombo("Выберите состояние", 20, 30, 200, 25)
Local $cboType = GUICtrlCreateCombo("Выберите типоразмер", 20, 80, 200, 25)
Local $cboManufacturer = GUICtrlCreateCombo("Выберите производителя", 20, 130, 200, 25)
Local $cboModel = GUICtrlCreateCombo("Выберите модель", 20, 180, 200, 25)
GUICtrlSetState($cboType, $GUI_DISABLE)
GUICtrlSetState($cboManufacturer, $GUI_DISABLE)
GUICtrlSetState($cboModel, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; Третий регион для дополнительных меню (под первым регионом)
GUICtrlCreateGroup("", 10, 270, 300, 150) ; Фиксированная ширина 300, высота 150
Local $cboExtra1 = GUICtrlCreateCombo("Выберите параметр 1", 20, 30, 200, 25)
Local $cboExtra2 = GUICtrlCreateCombo("Выберите параметр 2", 20, 80, 200, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; Второй регион для вывода - таблица
GUICtrlCreateGroup("", 320, 10, 670, 410) ; Увеличенная высота
Local $headerLabel1 = GUICtrlCreateListView("", 330, 30, 650, 380, $LVS_REPORT)
GUICtrlSetState($headerLabel1, $GUI_SHOW)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; Четвертый регион для вывода - таблица
GUICtrlCreateGroup("", 10, 430, 980, 300) ; Скорректированные размеры
Local $headerLabel2 = GUICtrlCreateListView("", 20, 450, 960, 270, $LVS_REPORT)
GUICtrlSetState($headerLabel2, $GUI_SHOW)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; Кнопки "Очистить" и "Выход" вне регионов
Local $btnClear = GUICtrlCreateButton("Очистить", 750, 740, 100, 30) ; Исправлено размещение
Local $btnExit = GUICtrlCreateButton("Выход", 870, 740, 100, 30) ; Исправлено размещение
GUISetState(@SW_SHOW)
; Основной цикл
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $btnExit
Exit
Case $btnClear
; Обработка нажатия кнопки "Очистить"
GUICtrlSetData($headerLabel1, "")
GUICtrlSetData($headerLabel2, "")
EndSwitch
WEnd