![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сворачивание окна в TaskBar [D4, Win95/98]
ppp © (2002-04-18 03:54:00)Здравствуйте, уважаемые Мастера!
Возникла следующая проблема:
Имеется главная форма, если её свернуть, то всё Ok,
она своравчивается в TaskBar.
Далее в программе я для главной формы делаю Hide и
показываю др. форму ShowModal.
Но теперь, если эту форму свернуть, то она сворачивается
не в TaskBar, а к кнопке "Пуск".
Подскажите пожалуйста, как от этого избавиться?
ppp (2002-04-18 12:41:00) [1]Вроде бы что-то получилось, правда это же коряво
зачем это значок появляется просто так...
СПАСИБО Song
ppp (2002-04-18 12:31:00) [2]ничего не получается (((
этот значок ни на какие команды не реагирует
Song (2002-04-18 11:42:00) [3]Делайте либо MainForm.Hide
либо SW_HIDE
Возможно появление значка - это следствие CreateParams
А что Вам мешает его спрятать опять?
Если главная форма вообще не нужна, не проще ли TApplication.ShowMainForm:=False; ???
ppp (2002-04-18 11:32:00) [4]Есть главное окно MainForm
Скрываю его MainForm.Hide и
ShowWindow( Application.Handle, SW_HIDE )
Тем самым в TaskBar"е ничего нет
Затем показываю др. форму OtherForm.ShowModal
У этой формы я переопределил CreateParams установив
WS_EX_APPWINDOW, чтобы форма минимизировалась в TaskBar
При повторном запуске приложения проверяется запущено ли оно
(не важно как), а далее если оно запущено необходимо показать
окно (форму) этого приложения, либо это MainForm (с этим нет
проблем), либо это OtherForm (тут возникают косяки)
И ещё попутно, можно ли в OnShowForm закрыть её если что ни так
я делаю
ModalResult := mrCancel;
Close;
Но это не работает?!
Song (2002-04-18 11:02:00) [5]Не врубился. А как значок главного окна мог там появиться, если оно не было минимизиовано?
Объясните популярно, какие окна в каких состояних.
ppp (2002-04-18 10:56:00) [6]да окно восстанавливается, но при этом в TaskBar"е появляется ещё и значок главного окна, а этого не нужно =(
Song (2002-04-18 10:43:00) [7]Попробуйте делать SW_RESTORE не для MainForm, а для той формы, которая у Вас спущена в task. Найдите её handle через FindWindow()
ppp (2002-04-18 10:33:00) [8]т.е. как восстановить первый экземпляр программы из TaskBar"а, если открыта не главная форма, то показать ту которая открыта?
ppp (2002-04-18 10:17:00) [9]свернуть в TaskBar вроде бы получилось, но возникла др. проблема:
если та самая вторая форма свёрнута и пользователь запускает
второй экземпляр программы, то при восстановлении окна SW_RESTORE почему-то появляется ещё и основная форма.
Как восстановить свёрнутую вторую форму программно?
Song (2002-04-18 08:10:00) [10]Нужно перекрывать Create Params для каждой формы, котрую вы хотите свернуть в панель задач. Такой вопрос уже был, кстати.
Смотрите также SetWindowLong()
ppp (2002-04-18 06:49:00) [11]Помогите пожалуйста!
Нужно чтобы в TaskBar"е была одна иконка от программы,
и все формы сворачивались в TaskBar.