Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Сворачивание окна в TaskBar 


ppp   (2002-04-18 03:54) [0]

Здравствуйте, уважаемые Мастера!

Возникла следующая проблема:
Имеется главная форма, если её свернуть, то всё Ok,
она своравчивается в TaskBar.
Далее в программе я для главной формы делаю Hide и
показываю др. форму ShowModal.
Но теперь, если эту форму свернуть, то она сворачивается
не в TaskBar, а к кнопке "Пуск".

Подскажите пожалуйста, как от этого избавиться?



ppp   (2002-04-18 06:49) [1]

Помогите пожалуйста!

Нужно чтобы в TaskBar"е была одна иконка от программы,
и все формы сворачивались в TaskBar.



Song   (2002-04-18 08:10) [2]

Нужно перекрывать Create Params для каждой формы, котрую вы хотите свернуть в панель задач. Такой вопрос уже был, кстати.
Смотрите также SetWindowLong()



ppp   (2002-04-18 10:17) [3]

свернуть в TaskBar вроде бы получилось, но возникла др. проблема:
если та самая вторая форма свёрнута и пользователь запускает
второй экземпляр программы, то при восстановлении окна SW_RESTORE почему-то появляется ещё и основная форма.

Как восстановить свёрнутую вторую форму программно?



ppp   (2002-04-18 10:33) [4]

т.е. как восстановить первый экземпляр программы из TaskBar"а, если открыта не главная форма, то показать ту которая открыта?



Song   (2002-04-18 10:43) [5]

Попробуйте делать SW_RESTORE не для MainForm, а для той формы, которая у Вас спущена в task. Найдите её handle через FindWindow()



ppp   (2002-04-18 10:56) [6]

да окно восстанавливается, но при этом в TaskBar"е появляется ещё и значок главного окна, а этого не нужно =(



Song   (2002-04-18 11:02) [7]

Не врубился. А как значок главного окна мог там появиться, если оно не было минимизиовано?
Объясните популярно, какие окна в каких состояних.



ppp   (2002-04-18 11:32) [8]

Есть главное окно 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:42) [9]

Делайте либо MainForm.Hide
либо SW_HIDE

Возможно появление значка - это следствие CreateParams
А что Вам мешает его спрятать опять?

Если главная форма вообще не нужна, не проще ли TApplication.ShowMainForm:=False; ???



ppp   (2002-04-18 12:31) [10]

ничего не получается (((
этот значок ни на какие команды не реагирует



ppp   (2002-04-18 12:41) [11]

Вроде бы что-то получилось, правда это же коряво
зачем это значок появляется просто так...

СПАСИБО Song




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.027 c
3-94275           Вероника              2002-04-08 10:53  2002.04.29  
Изменение ячейки типа lookup


1-94425           GBF                   2002-04-15 15:05  2002.04.29  
Как несколько файлов упаковать в один внешний


1-94407           AHa                   2002-04-17 11:31  2002.04.29  
Компьютерные модели


1-94429           ppp                   2002-04-18 03:54  2002.04.29  
Сворачивание окна в TaskBar


1-94513           cypher                2002-04-16 23:40  2002.04.29  
Глупость конечно, но...