Code
Structure Pref
String1.s
String2.s
String3.s
String4.s
CheckBox.l
Spin.l
TrackBar.l
ComboBox.l
EndStructure
PrefWin.Pref
Procedure Open_Window_0()
Shared PrefWin
If OpenWindow(1, 268, 254, 236, 170, "Настройки", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
StringGadget(1, 8, 12, 80, 20, PrefWin\String1)
StringGadget(2, 112, 12, 108, 20, PrefWin\String2)
StringGadget(3, 8, 44, 80, 20, PrefWin\String3)
StringGadget(4, 112, 44, 108, 20, PrefWin\String4)
CheckBoxGadget(5, 12, 76, 68, 16, "галочка")
SetGadgetState(5, PrefWin\CheckBox)
SpinGadget(6, 112, 72, 44, 20, 0, 10,#PB_Spin_Numeric)
SetGadgetState(6, PrefWin\Spin)
TrackBarGadget(7, 16, 108, 200, 20, 0, 10)
SetGadgetState(7,PrefWin\TrackBar)
ComboBoxGadget(8, 168, 72, 52, 20)
For i=1 To 10
AddGadgetItem(8,-1,Str(i))
Next i
SetGadgetState(8,PrefWin\ComboBox)
ButtonGadget(9, 10, 140, 80,24,"Сохранить")
ButtonGadget(10, 150, 140, 80,24,"Отмена")
;-----Чтение параметров-----------------
If OpenPreferences("inform.ini")
PreferenceGroup("Настройки")
SetGadgetText(1, ReadPreferenceString("Путь1", ""))
SetGadgetText(2, ReadPreferenceString("Путь2", ""))
SetGadgetText(3, ReadPreferenceString("Путь3", ""))
SetGadgetText(4, ReadPreferenceString("Путь4", ""))
SetGadgetState(5, Val(ReadPreferenceString("Путь5", "")))
SetGadgetState(6, Val(ReadPreferenceString("Путь6", "")))
SetGadgetState(7, Val(ReadPreferenceString("Путь7", "")))
SetGadgetState(8, Val(ReadPreferenceString("Путь8", "")))
ClosePreferences()
EndIf
;----------------------------------------------------------------
EndIf
EndProcedure
OpenWindow(0,0,0,200,100,"Главное окно",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ButtonGadget(0,50,36,100,24,"Ностройки")
Repeat
Event=WaitWindowEvent()
Window=EventWindow()
If Window=0
If Event=#PB_Event_Gadget And EventGadget()=0
Open_Window_0()
EndIf
ElseIf Window=1
If Event=#PB_Event_CloseWindow
CloseWindow(1)
ElseIf Event=#PB_Event_Gadget
Select EventGadget()
Case 9
PrefWin\String1=GetGadgetText(1)
PrefWin\String2=GetGadgetText(2)
PrefWin\String3=GetGadgetText(3)
PrefWin\String4=GetGadgetText(4)
PrefWin\CheckBox=GetGadgetState(5)
PrefWin\Spin= GetGadgetState(6)
PrefWin\TrackBar=GetGadgetState(7)
PrefWin\ComboBox=GetGadgetState(8)
CloseWindow(1)
Case 10
CloseWindow(1)
EndSelect
EndIf
EndIf
If Event = #PB_Event_CloseWindow And Window=0
;----Запись параметров перед выходом-----------
OpenPreferences("inform.ini")
;RemovePreferenceGroup("Настройки")
PreferenceGroup("Настройки")
WritePreferenceString("Путь1",PrefWin\String1)
WritePreferenceString("Путь2",PrefWin\String2)
WritePreferenceString("Путь3",PrefWin\String3)
WritePreferenceString("Путь4",PrefWin\String4)
WritePreferenceString("Путь5",Str(PrefWin\CheckBox))
WritePreferenceString("Путь6",Str(PrefWin\Spin))
WritePreferenceString("Путь7",Str(PrefWin\TrackBar))
WritePreferenceString("Путь8",Str(PrefWin\ComboBox))
ClosePreferences()
;---------------------------------------------
Break
EndIf
ForEver