Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2006, 20:15   #1
Ko$tello
Пользователь
 
Регистрация: 13.11.2006
Сообщений: 11
Вопрос проблема при сворачивании форм

я разрабатываю приложение с большим количеством форм. все формы Sdi.
проблема заключается в следующем…..
первичная форма сворачивается в панель задач без всяких проблем, а вот все остальные вместо сворачивания минимизируются в полоски и располагаются в левом нижнем углу рабочего стола….
если кто-то сталкивался с такой проблемой, подскажите, как её можно разрешить….
Одна голова хорошо..., а все тело лучше.
Ko$tello вне форума Ответить с цитированием
Старый 14.11.2006, 13:36   #2
Jallexe
 
Регистрация: 14.11.2006
Сообщений: 6
По умолчанию

насколько я помню их надо убивать Form.Destroy Form.Free
иначе они будут висеть
Jallexe вне форума Ответить с цитированием
Старый 14.11.2006, 13:43   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
насколько я помню их надо убивать Form.Destroy Form.Free
иначе они будут висеть
а это тут при чём? Сворачивание вроде идёт, а не закрывание.
zetrix вне форума Ответить с цитированием
Старый 14.11.2006, 14:37   #4
ZEVS
Евгений Злобин
Пользователь
 
Аватар для ZEVS
 
Регистрация: 14.11.2006
Сообщений: 92
По умолчанию

попробуй application.minimize
ZEVS вне форума Ответить с цитированием
Старый 14.11.2006, 15:30   #5
Ko$tello
Пользователь
 
Регистрация: 13.11.2006
Сообщений: 11
По умолчанию

Цитата:
Сообщение от ZEVS Посмотреть сообщение
попробуй application.minimize
Application не катит, поскольку этот объект характеризует приложение в целом, а не отдельные формы...
Одна голова хорошо..., а все тело лучше.
Ko$tello вне форума Ответить с цитированием
Старый 14.11.2006, 15:46   #6
Jallexe
 
Регистрация: 14.11.2006
Сообщений: 6
По умолчанию

может это тебе поможет!!!
Как заставить формы минимизироваться на панель задач с анимацией?

Nomadic советует:

Дело-то вот в чем: Главным окном программы дельфийской является не главная форма, а окно TApplication, которое имеет нулевые размеры, поэтому его не видно. Именно для него показывается иконка на панели задач. Когда пользователь нажимает кнопку минимизации на главной форме, команда минимизации передается этому окну, и сворачивается именно оно, а для остальных просто делается hide. А так как окно TApplication имеет нулевые размеры, то и анимации никакой не видно.
А чтобы этого избежать, необходимо:
В исходном тесте модуля проекта после вызова Application.Initialize выполнить вызов
// В исходном тесте модуля проекта после вызова Application.Initialize
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);


В исходном тексте модуля главной формы перекрыть следующие методы -
// // В классе формы
// Интерфейс
protected
procedure
CreateParams(var p: TCreateParams); override;
procedure WMSysCommand(var m: TMessage); message WM_SYSCOMMAND;


// Реализация
procedure TMainForm.CreateParams(var p: TCreateParams);
begin
inherited
;
p.WndParent := 0;
end;

procedure TMainForm.WMSysCommand(var m: TMessage);
begin
m.Result := DefWindowProc(Handle, m.Msg, m.wParam, m.lParam);
end;


Вместо SetWindowLong в MDI-приложениях лучше использовать
ShowWindow(Application.Handle, SW_HIDE);
Jallexe вне форума Ответить с цитированием
Старый 16.11.2006, 13:16   #7
Ko$tello
Пользователь
 
Регистрация: 13.11.2006
Сообщений: 11
По умолчанию

попробовал данный код….
не работает….
ну не то чтобы валились ошибки. приложение запускается…. только ведет себя не так как надо.
вторичные формы все равно не минимизируются в панель задач….
Одна голова хорошо..., а все тело лучше.
Ko$tello вне форума Ответить с цитированием
Старый 16.11.2006, 16:41   #8
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

а если эти формы прjсто прятать, а не сворачивать ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 16.11.2006, 18:15   #9
Ko$tello
Пользователь
 
Регистрация: 13.11.2006
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Virtson Посмотреть сообщение
а если эти формы прjсто прятать, а не сворачивать ?
Я же говорю что надо именно сворачивать....
С процессом скрытия не каких проблем нет...
Одна голова хорошо..., а все тело лучше.
Ko$tello вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование 2х форм Zeraim Общие вопросы Delphi 4 27.05.2008 17:14
Взаимодействие форм mauar Общие вопросы Delphi 7 05.05.2008 11:36
Обработка форм igoist Помощь студентам 2 21.03.2008 22:23
Проблема с мастером форм StealthSP Microsoft Office Access 1 15.12.2007 05:34
Несколько форм. Sargon Помощь студентам 23 15.09.2007 23:52