Автор Тема: [Элементы GUI] Как можно ограничить минимальный размер окна при изменении размеров мышкой?  (Прочитано 726 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sergy [?]

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: 1
  • Пол: Мужской
    • Награды
Делаю окно, хочу, что бы было нельзя уменьшить окно меньше определённых размеров, например 800х400

Делаю так (оставил минимум элементов ):

Код: AutoIt [Выделить]
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>

Global $hForm_ZaprosGUI, $hStatusBar_Main

Main()
Exit

Func Main()

    $hForm_ZaprosGUI = GUICreate("Тест ресайза", 1001, 696+3, -1, -1, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX))

    $hInput_Words = GUICtrlCreateInput("Строка запроса", 5, 10, 905, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKHEIGHT)
    $hButton_Find = GUICtrlCreateButton("Найти", 920, 8, 75, 25)
    $hStatusBar_Main = _GUICtrlStatusBar_Create($hForm_ZaprosGUI)

    GUIRegisterMsg($WM_SIZE, "WM_SIZE")
    GUISetState(@SW_SHOW)

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
    Return
EndFunc ;=> Main

Func WM_SIZE()
    ; минимально допустимые размеры главного окна
    $iGUI_Width = 800
    $iGUI_Height = 400

    ; обеспечим соблюдение минимальных размеров окна
    $aWinClientSize = WinGetClientSize($hForm_ZaprosGUI)
    If $aWinClientSize[0] < $iGUI_Width Then
        WinMove($hForm_ZaprosGUI, "", Default, Default, $iGUI_Width, Default)
    EndIf
    If $aWinClientSize[1] < $iGUI_Height Then
        WinMove($hForm_ZaprosGUI, "", Default, Default, Default, $iGUI_Height)
    EndIf

    ; ресайзим строку состояния
    _GUICtrlStatusBar_Resize($hStatusBar_Main)

EndFunc ;=> WM_SIZE
 


В итоге продвижение границ окна останавливается на заданных размерах, а вот содержимое продолжает уменьшаться, да и рамка при этом промаргивает.
Нужно так же стопорить все элементы окна или у меня в корне неправильный подход?

Русское сообщество AutoIt


Оффлайн Sergy [?]

  • Новичок
  • *
  • Сообщений: 22

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
Тяжело без работающего поиска.
Долго читал форум, а когда создал тему - тогда на глаза вылезла нужная тема.
Короче ответ тут: http://autoit-script.ru/index.php/topic,568.0.html

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
3337 Просмотров
Последний ответ Август 07, 2014, 13:24:12
от Aleksandr Prilutskiy
7 Ответов
4284 Просмотров
Последний ответ Февраль 09, 2013, 19:30:46
от AZJIO
0 Ответов
1664 Просмотров
Последний ответ Февраль 23, 2012, 16:25:40
от CreatoR
3 Ответов
2037 Просмотров
Последний ответ Декабрь 07, 2012, 14:31:27
от pvnn
12 Ответов
3881 Просмотров
Последний ответ Январь 13, 2013, 14:52:24
от Arei
0 Ответов
1148 Просмотров
Последний ответ Декабрь 28, 2012, 15:11:09
от CreatoR
2 Ответов
1846 Просмотров
Последний ответ Сентябрь 14, 2013, 17:56:29
от GUIMish
0 Ответов
1035 Просмотров
Последний ответ Сентябрь 14, 2013, 21:51:23
от madmasles
1 Ответов
546 Просмотров
Последний ответ Июль 24, 2015, 08:15:50
от Yashied
4 Ответов
1098 Просмотров
Последний ответ Март 25, 2016, 10:22:59
от mmsgeorge