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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 19:40   #1
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию Сворачивание в трей, убрать из панели задач

Как убрать программу из панели задач (я сворачиваю прогу в трей, а из панели не получается). Не продлагать компонент cooltray так как мне нужно убрать не главную (первую форму), а второстепенную главная скрыта
сворачиваю
Код:
Form1.ShownOnce := False;
ShowWindow(Form1.Handle,SW_HIDE);
Восстановление
Код:
Form1.ShownOnce := True;
ShowWindow(Form1.Handle,SW_RESTORE);
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 31.01.2011, 19:42   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вместо Form1, берите Application это и будет панель задач.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.02.2011, 13:27   #3
zab-zab
Новичок
Джуниор
 
Аватар для zab-zab
 
Регистрация: 04.02.2011
Сообщений: 1
По умолчанию

а как сворачивать в трей при нажатии кнопки minimize
zab-zab вне форума Ответить с цитированием
Старый 04.02.2011, 14:36   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а как сворачивать в трей при нажатии кнопки minimize
А про какую версию Делфи идет речь?
В принципе можно воспользоваться компонентами сторонними либо же компонентом TrayIcon из стандартной поставки некоторых версий.
Что-то вроде
Код:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
 TrayIcon1.Icon:=Application.Icon;
 ShowWindow(Application.Handle,SW_HIDE);
 TrayIcon1.Visible:=true;
end;
Учитывая что событие сворачивания перехватывается компонентом ApplicationEvents
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2011, 12:43   #5
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Цитата:
Сообщение от zab-zab Посмотреть сообщение
а как сворачивать в трей при нажатии кнопки minimize
так же как и у меня написано
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 06.02.2011, 16:05   #6
Slippy
Пользователь
 
Аватар для Slippy
 
Регистрация: 29.12.2010
Сообщений: 55
По умолчанию

Цитата:
а как сворачивать в трей при нажатии кнопки minimize
если без сторонних компонентов: можно перехватывать сообщение SW_MINIMIZE и в своём обработчике писать код сворачивания в трей, используя ShellApi.


Код:
....

const
  WM_MYICONNOTIFY = WM_USER + 123;
....

procedure WMSYSCOMMAND(var msg: TMessage); message WM_SYSCOMMAND;
procedure AddTrayIcon(id: Integer);
procedure HideForm();

....

procedure TForm1.WMSYSCOMMAND(var msg: TMessage);
begin
  inherited;
  if msg.WParam = SW_MINIMIZE then
  begin
    AddTrayIcon(1);
    HideForm;
  end;
end;

procedure TForm1.AddTrayIcon(id: Integer);
var NIData: TNotifyIconData;
begin
  NIData.cbSize := SizeOf(TNotifyIconData);
  NIData.Wnd := Self.Handle;
  NIData.uID := id;
  NIData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
  NIData.uCallbackMessage := WM_MYICONNOTIFY;
  NIData.hIcon := Application.Icon.Handle;
  StrPCopy(NIData.szTip, Application.Title);
  Shell_NotifyIcon(NIM_ADD, @NIData);
end;

procedure TfMain.HideForm;
begin
  Application.ShowMainForm := False;
  ShowWindow(Application.Handle, SW_HIDE);
  ShowWindow(Application.MainForm.Handle, SW_HIDE);
end;
Теория – это когда все известно, но ничего не работает. Практика – это когда все работает, но никто не знает почему. Мы объединяем теорию и практику: ничего не работает и никто не знает почему ©
Slippy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[LAZARUS] Не получается убрать приложение с панели задач. Alex Cones Lazarus, Free Pascal, CodeTyphon 9 24.08.2010 22:05
Как убрать окно из панели задач? Seven[up] Win Api 3 10.08.2010 01:19
Как убрать себя с панели задач. Alex Cones Общие вопросы Delphi 2 27.12.2009 16:13
убрать приложение из панели задач Романнн Общие вопросы Delphi 2 10.11.2007 12:08