![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
правильное сохранение размеров окна
Darkwing © (2006-07-07 10:39:00)Программа сохраняет в .ini файл размеры главного окна при его закрытии. Вопрос в том, как сохранить размеры и положение состояния wsNormal если окно при закрытии находится в wsMaximized?
Ketmar (2006-07-07 11:33:00) [1]GetWindowPlacement()
StriderMan (2006-07-07 11:18:00) [2]
> Примерно это же и я предлогаю
вобщем да, только надо не на закрытии проверятьа как я написал в SetBounds, а то если растянут форму, а потом развернут на весь экран и закроют, то сохранятся параметры до растягивания
SerJaNT (2006-07-07 11:15:00) [3]
> StriderMan © (07.07.06 11:09) [8]
Примерно это же и я предлогаю
StriderMan (2006-07-07 11:09:00) [4]
TForm1 = class(TForm)
...
private
fSTop: integer;
fSLeft: integer;
fSWidth: integer;
fSHeight: integer;
....
public
procedure setBounds(...); override;
....
procedure TForm1.SetBounds(...);
begin
windowstate = wsNormal then
begin
fSTop := Top; //Сохраняем размеры если в состоянии wsNormal
....
end;
inherited
end;
SerJaNT (2006-07-07 11:08:00) [5]При закрытие ты проверяшь в каком состоянии окно, и, если оно максимизированно, то в ини пишешь что оно как-будто минимизированно.
SerJaNT (2006-07-07 11:07:00) [6]Нет, на событие onclose надо поставить тот код который я привел.
Darkwing (2006-07-07 11:06:00) [7]то есть wsNormal из wsMaximized
Darkwing (2006-07-07 11:05:00) [8]Программа сохраняет wsMaximized или wsNormal которые были при закрытии. надо как-то в момент перехода из wsNormal в wsMaximized сохранять значения размеров wsNormal. Типа задача сводится к тому чтобы определить момент перехода из wsMaximized в wsNormal.
SerJaNT (2006-07-07 11:00:00) [9]Может так
if form1.windowstate = wsMaximized then
begin
... что-то делаем если окно максимизированно
end else
begin
... что-то делаем если окно в каком-то другом состоянии
end;
medved_68 (2006-07-07 10:47:00) [10]
> Darkwing
А ты не давай закрыть окно пока оно wsMaximized. Пусть репу почешут:)))
PSPF2003 (2006-07-07 10:44:00) [11]Наверное, надо использовать какой-нибудь флаг, при загрузке проверяем если он равен true, уснавливаем необходимое состояние