Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
1

Ярлык (миниатюра) в панели задач

22.02.2016, 11:17. Показов 1500. Ответов 16
Метки нет (Все метки)

Есть 3 формы: авторизация, редактирование справочников и т.н. рабочая.
В зависимости от логина/пароля, введенных на первой форме открывается 2-я или 3-я.
Необходимо прятать 1-ю форму (при закрытии - закрывается все приложение). Но так чтобы на панели задач был ярлык текущей формы, при клике по которому можно свернуть/развернуть форму (не 1-ю).
Пока что додумался до варианта
Delphi
1
Form1.visible:=false;
При сворачивании 2-й(3-й) формы она уходит в левый нижний угол рабочего стола. Это тоже не помешало бы убрать
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2016, 11:17
Ответы с готовыми решениями:

Пропадает ярлык программы на панели задач
Здравствуйте, пишу программу и столкнулся с такой проблемой, когда делаю невидимой главную форму...

Как закрепить ярлык на панели задач
Можно ли как-то там закрепить какой-либо ярлык? (разумеется из делфи)

Не могу закрепить ярлык на панели задач
Пробовал решить эту проблему, через готовый файл реестра из этой темы (...

Удалить ярлык Mail.ru из панели задач в Windows 7
Здравствуйте. Пишу приложение на Basic'е, удаляющее мусор от mail.ru В частности, mail.ru создает...

16
87 / 83 / 43
Регистрация: 02.05.2015
Сообщений: 766
22.02.2016, 11:31 2
Delphi
1
form1.hide
Delphi
1
form1.show
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
22.02.2016, 11:43  [ТС] 3
Цитата Сообщение от CheshireesCat Посмотреть сообщение
form1.hide
В этом случае на панели задач вобще ничего нет. Нужно как на скрине: ярлык ЛЮБОЙ программы. Нажал - свернул, нажал - развернул. Но только не главную форму, а 2-ю или 3-ю.
0
Миниатюры
Ярлык (миниатюра) в панели задач  
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
22.02.2016, 14:19 4
попробуйте application.MainForm:=formXXX;
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
22.02.2016, 14:29  [ТС] 5
Цитата Сообщение от krapotkin Посмотреть сообщение
попробуйте application.MainForm:=formXXX;
а куда это прописать?
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
22.02.2016, 16:09 6
в таскбаре кнопка главной формы
скрыли форму, скрыли кнопку
если в это время назначить другую форму главной, возможно, ее кнопка появится в таскбаре
Delphi
1
2
3
4
procedure TForm23.FormShow(Sender:TObject);
begin
  application.MainForm:=self;
end;
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
22.02.2016, 16:13  [ТС] 7
E2129 Cannot assign to a read-only property
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
22.02.2016, 16:16 8
гипотеза не подтвердилась
но поиск вполне рулит
http://stackoverflow.com/quest... -main-form
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
22.02.2016, 16:26  [ТС] 9
Цитата Сообщение от krapotkin Посмотреть сообщение
http://stackoverflow.com/questions/5...-the-main-form
не уверен что разобрался...
TMyForm . CreateParams - где вызывать и какие параметры?
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
22.02.2016, 16:31 10
все уже вызвано в комплекте
0
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
22.02.2016, 16:36  [ТС] 11
Не заметил никаких изменений
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
22.02.2016, 17:04 12
Лучший ответ Сообщение было отмечено Razdolbait как решение

Решение

да ну конечно....
код для TForm1

Delphi
1
2
3
4
5
6
procedure TForm1.b1Click(Sender: TObject);
begin
  form2:=TForm2.create(Application);
  hide;
  Form2.Show;
end;
код для Form2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm2.b1Click(Sender: TObject);
begin
  Close;
end;
 
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent := 0;
end;
 
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=TCloseAction.caFree;
  Application.MainForm.Show;
end;
не забудьте убрать Form2 из автосоздания в свойствах проекта
и добавить
uses Unit2
в Unit1.pas
1
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
23.02.2016, 10:53  [ТС] 13
Тестировал на новом проекте.При открытии второй формы первая скрывается(hide, ярлык исчезает. При закрытии 2-й формы ярлык появляется снова. Даже если бы этот способ подошел то будет проблема с компонентами на форме 2 (например ADO).

Добавлено через 1 час 4 минуты
ИМХО оптимальное решение проблемы:
1. главную форму не скрывать(т.е. она будет под рабочей). На панели задач будет висеть ярлык главной формы
2. поставить запрет на изменение размера и сворачивание рабочей формы чтобы не видели главную форму.
3. недовольных юзверей слать в лес)
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
23.02.2016, 13:41 14
что-то я потерял нить
все работает штатно
кнопка на таскбаре есть для обеих форм 1 и 2
0
Миниатюры
Ярлык (миниатюра) в панели задач   Ярлык (миниатюра) в панели задач  
Вложения
Тип файла: rar Project1.rar (2.17 Мб, 6 просмотров)
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
23.02.2016, 13:47  [ТС] 15
Значит я все таки умудрился накосячить) Ваш exe-шник вроде работает как надо. Можно код?
0
Миниатюры
Ярлык (миниатюра) в панели задач   Ярлык (миниатюра) в панели задач  
25 / 25 / 22
Регистрация: 18.09.2014
Сообщений: 218
23.02.2016, 14:11  [ТС] 16
Вкурил. Запутался с классами и процедурами. Спасибо за помощь. Буду пробовать внедрить в проект
0
4975 / 3876 / 1287
Регистрация: 14.04.2014
Сообщений: 17,879
Записей в блоге: 18
23.02.2016, 14:15 17
весь код какой есть я привел в посте
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2016, 14:15

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как создать ярлык который будет закрепляться на панели задач
Как создать ярлык который будет закрепляться на панели задач???

ПКМ по панели задач -> Панели -> Все кнопки неактивны
Добрый день! Я хочу добавить пользовательскую панель на Панель задач Windows 7. Делал это уже много...

Ярлык на Панель задач
Подскажите как всем пользователям в домене положить на Панель задач ярлык WinServer2008 ...

Не создаётся ярлык для программы на C# на панели быстрого запуска
Всем привет! Написал программу на WinForms C# в VS2010. Запускаю её довольно часто и хочу чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.