Код нормально компилируется.Нормально запускается.
Но не могу понять почему:
1)дочернее окно не закрывается при нажатии на кнопочку "закрыть"
2)галочка не сохраняется в чекбоксе, да и сам ini-файл не создаётся.
Пожалуйста подкорректируйте.ну я просто не пойму в чём дело и всё тут...
Но не могу понять почему:
1)дочернее окно не закрывается при нажатии на кнопочку "закрыть"
2)галочка не сохраняется в чекбоксе, да и сам ini-файл не создаётся.
Пожалуйста подкорректируйте.ну я просто не пойму в чём дело и всё тут...
Код:
#include <GuiConstantsEx.au3>
#include <AVIConstants.au3>
#include <TreeViewConstants.au3>
Global $CheckBox
Global $sIniFile = @ScriptDir & '\Config.ini', $sD = Default
$iOption1 = IniRead($sIniFile, 'Setting', 'Option1', '1')
$GUI = GUICreate("PC10") ; will create a dialog box that when displayed is centered
$nButton1 = GUICtrlCreateButton('пример 1', 20, 50, 110, 30)
$nButton2 = GUICtrlCreateButton('пример 2', 20, 80, 110, 30)
$nButton3 = GUICtrlCreateButton('Окно', 20, 110, 110, 30)
$ontop = GUICtrlCreateCheckbox(" окно всегда наверху", 35, 310, 150, 20)
GUICtrlSetState(-1, $ontop)
GUISetState()
WinSetOnTop ($GUI, "", 1 )
; Run the GUI until the dialog is closed
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButton1
_galochka()
Case $nButton2
MsgBox(64, 'Info', 'пример 2', 0, $GUI)
Case $nButton3
NewWindow()
Case $ontop
If BitAND(GUICtrlRead($ontop), $GUI_CHECKED) then
WinSetOnTop ($GUI, "", 1 )
Else
WinSetOnTop ($GUI, "", 0 )
EndIf
EndSwitch
Wend
Func NewWindow()
$GUI2 = GUICreate('New window', 400, 300, -1, -1, -1, -1, $GUI)
GUISetState()
$CheckBox = GUICtrlCreateCheckbox("галочка", 15, 120, 340, 20)
GUICtrlSetState(-1, $iOption1)
Do
until GUIGetMsg() = -3
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $CheckBox
If BitAND(GUICtrlRead($CheckBox), $GUI_CHECKED) then ;---если стоит флажок то записывает
IniWrite($sIniFile, 'Setting', 'Option1', GUICtrlRead($CheckBox))
Else ;---если не стоит флажок то удаляет
sleep(1)
IniWrite($sIniFile, 'Setting', 'Option1', GUICtrlRead($CheckBox))
EndIf
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
EndFunc
;-----------------------------------------
Func _galochka()
If BitAND(GUICtrlRead($CheckBox), $GUI_CHECKED) Then
MsgBox(64, 'Info', 'галочка установлена')
Else
MsgBox(64, 'Info', 'галочка не установлена')
endif
EndFunc