Russian version
English version
ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ
 
Программное обеспечение
 
Для зарегистрированных пользователей
 
РАССЫЛКИ НОВОСТЕЙ
IT-Новости
Новости компаний
Российские технологии
Новости ВПК
Нанотехнологии
 
Поиск по статьям
 
RSS-лента
Подписаться
Средства разработки

Восстановление положения окна Вашей программы на рабочем столе Windows

Наверное, у каждого программиста на VB рано или поздно появляется необходимость восстановления положения окна на рабочем столе при старте приложения и сохранения их при завершении приложения. Для этого удобно (и нужно!) использовать реестр Windows. Ниже приведены процедуры, которые делают эту работу.

'Процедура служит для восстановления позиции окна из
'системного реестра 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

    Для работы этих процедур необходимы объявленные на уровне приложения (или модуля) константы APP_NAME, KEY_SETWINDOW, CUR_STATE, CUR_X, CUR_Y, CUR_dX, CUR_dY


  Рекомендовать страницу   Обсудить материал Написать редактору  
  Распечатать страницу
 
  Дата публикации: 29.06.2006  

ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ

Дизайн и поддержка: Silicon Taiga   Обратиться по техническим вопросам  
Rambler's Top100 Rambler's Top100