Что нового

[Элементы GUI] Как можно ограничить минимальный размер окна при изменении размеров мышкой?

Sergy

Новичок
Сообщения
25
Репутация
1
Делаю окно, хочу, что бы было нельзя уменьшить окно меньше определённых размеров, например 800х400

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

Код:
#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


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

Sergy

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