![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2006
Сообщений: 11
|
![]()
я разрабатываю приложение с большим количеством форм. все формы Sdi.
проблема заключается в следующем….. первичная форма сворачивается в панель задач без всяких проблем, а вот все остальные вместо сворачивания минимизируются в полоски и располагаются в левом нижнем углу рабочего стола…. если кто-то сталкивался с такой проблемой, подскажите, как её можно разрешить….
Одна голова хорошо..., а все тело лучше.
|
![]() |
![]() |
![]() |
#2 |
Регистрация: 14.11.2006
Сообщений: 6
|
![]()
насколько я помню их надо убивать Form.Destroy Form.Free
иначе они будут висеть |
![]() |
![]() |
![]() |
#3 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Евгений Злобин
Пользователь
Регистрация: 14.11.2006
Сообщений: 92
|
![]()
попробуй application.minimize
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.11.2006
Сообщений: 11
|
![]()
Application не катит, поскольку этот объект характеризует приложение в целом, а не отдельные формы...
Одна голова хорошо..., а все тело лучше.
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 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); |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.11.2006
Сообщений: 11
|
![]()
попробовал данный код….
не работает…. ну не то чтобы валились ошибки. приложение запускается…. только ведет себя не так как надо. вторичные формы все равно не минимизируются в панель задач….
Одна голова хорошо..., а все тело лучше.
|
![]() |
![]() |
![]() |
#8 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]()
а если эти формы прjсто прятать, а не сворачивать ?
Берегите друг друга!
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.11.2006
Сообщений: 11
|
![]()
Я же говорю что надо именно сворачивать....
С процессом скрытия не каких проблем нет...
Одна голова хорошо..., а все тело лучше.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование 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 |