Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как грамотно сохранить параметры отображения формы? / 2 сообщений из 2, страница 1 из 1
10.11.2009, 00:04
    #36300105
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно сохранить параметры отображения формы?
Код: plaintext
1.
2.
3.
4.
5.
6.
    SetRegValue ..., "FormWindowState", Form1.WindowState
    If Form1.WindowState =  0  Then 'эти параметры запоминаются для норм. состояния формы
        SetRegValue ...   "FormTop", Form1.Top
        SetRegValue  ...  "FormLeft", Form1.Left
        SetRegValue  ... "FormHeight", Form1.Height
        SetRegValue  ...  "FormWidth", Form1.Width
    End If

Проблема в том, что если на момент закрытия состояние формы не нормал, то оставшиеся 4 параметра сохранять нельзя.

В принципе тот вариант что привел уже рабочий, но он не сохраняет промежуточные состояния Normal-режима, т.е. user вертел форму, потом сделал ее maximized и закрыл.
(Ну т.е. при открытии формы для normal режима будут браться крайние данные, когда он ее закрывал в нормал режиме. )
Для net я нашел код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
' Save the form's size and position.
Private Sub SavePosition(ByVal frm As Form, ByVal app_name _
    As String)
    SaveSetting(app_name, "Geometry", "WindowState", _
        frm.WindowState)
    If frm.WindowState = FormWindowState.Normal Then
        SaveSetting(app_name, "Geometry", "Left", frm.Left)
        SaveSetting(app_name, "Geometry", "Top", frm.Top)
        SaveSetting(app_name, "Geometry", "Width", _
            frm.Width)
        SaveSetting(app_name, "Geometry", "Height", _
            frm.Height)
    Else
        SaveSetting(app_name, "Geometry", "Left", _
            frm.RestoreBounds.Left)
        SaveSetting(app_name, "Geometry", "Top", _
            frm.RestoreBounds.Top)
        SaveSetting(app_name, "Geometry", "Width", _
            frm.RestoreBounds.Width)
        SaveSetting(app_name, "Geometry", "Height", _
            frm.RestoreBounds.Height)
    End If
End Sub

но для vb6 я не вижу ничего похожего на frm. RestoreBounds .Height
Играться со всякими resize с целью динамического хранения сего я задолбался.
Надеюсь, не сабклассить... если сабклассить, наверно надо оставить как у меня есть.
...
Рейтинг: 0 / 0
10.11.2009, 00:06
    #36300106
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно сохранить параметры отображения формы?
Можно конечно запоминать режим и "на секундочку" менять состояние на normal, но при visible=false это не сработает, а при true это будет весьма заметно.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как грамотно сохранить параметры отображения формы? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]