При закрытии программы считываю позицию и размеры окна функцией WinGetPos в ini-файл.
При старте программы, при создании окна считываю параметры формы из ini-файла.
Все просто, но после каждого перезапуска значения Width и Height постоянно увеличиваются. Например так:
Width:456->462->468...итд - каждый раз увеличивается на 6
Height:275->300->325...итд - каждый раз увеличивается на 25
Что я не так делаю? Как это можно исправить?
Спасибо
При старте программы, при создании окна считываю параметры формы из ini-файла.
Все просто, но после каждого перезапуска значения Width и Height постоянно увеличиваются. Например так:
Width:456->462->468...итд - каждый раз увеличивается на 6
Height:275->300->325...итд - каждый раз увеличивается на 25
Что я не так делаю? Как это можно исправить?
Спасибо
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$IniSetUp=@ScriptDir&'\conf.ini'
; Ini
$guiwidth=IniRead($IniSetUp,'GUI','guiwidth',450)
$guiheight=IniRead($IniSetUp,'GUI','guiheight',250)
$guileft=IniRead($IniSetUp,'GUI','guileft',240)
$guitop=IniRead($IniSetUp,'GUI','guitop',230)
$Form1 = GUICreate("Form1", $guiwidth, $guiheight, $guileft, $guitop)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
WriteGuiPos()
Exit
EndSwitch
WEnd
; Записать размеры окна и контролов в ini-файл для последующего восстановления
Func WriteGuiPos()
$aGUIPos=WinGetPos($Form1) ; Получает позицию и размеры указанного окна
IniWrite($IniSetUp,'GUI','guiwidth',$aGUIPos[2])
IniWrite($IniSetUp,'GUI','guiheight',$aGUIPos[3])
IniWrite($IniSetUp,'GUI','guileft',$aGUIPos[0])
IniWrite($IniSetUp,'GUI','guitop',$aGUIPos[1])
Return
EndFunc