'Процедура служит для
восстановления позиции окна из
'системного реестра Windows, в случае
неудачи берем
'значения по - умолчанию (100, 100, 10600, 5900)
'второй параметр указывает на то, что
нужно восстановить
'только положение окна без его размеров
Public Sub RestoreWindowsPos(frm As Form, Optional whNo As Boolean =
False)
Dim KEY_STRING As String
KEY_STRING = APP_NAME & "\" &
KEY_SETWINDOW
'Восстанавливаем позицию окна на
рабочем столе Windows
frm.WindowState = GetSetting(KEY_STRING, frm.Name,
CUR_STATE, 0)
'если "нормальное" положение, то
считать остальные параметры
If GetSetting(KEY_STRING, frm.Name, CUR_STATE, 0) = 0
Then
frm.Left = GetSetting(KEY_STRING,
frm.Name, CUR_X, 100)
frm.Top = GetSetting(KEY_STRING,
frm.Name, CUR_Y, 100)
If whNo Then Exit Sub
frm.Width = GetSetting(KEY_STRING,
frm.Name, CUR_dX, 10600)
frm.Height = GetSetting(KEY_STRING,
frm.Name, CUR_dY, 5900)
End If
End Sub
'Процедура служит для
сохранения позиции окна в
'системном реестре Windows
Public Sub SaveWindowsPos(frm As Form)
Dim KEY_STRING As String
KEY_STRING = APP_NAME & "\" &
KEY_SETWINDOW
'Сохраняем позицию окна на рабочем
столе Windows
SaveSetting KEY_STRING, frm.Name, CUR_STATE,
frm.WindowState
SaveSetting KEY_STRING, frm.Name, CUR_X, frm.Left
SaveSetting KEY_STRING, frm.Name, CUR_Y, frm.Top
SaveSetting KEY_STRING, frm.Name, CUR_dX, frm.Width
SaveSetting KEY_STRING, frm.Name, CUR_dY, frm.Height
End Sub