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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 13:05   #1
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
Вопрос Иконка в трее

Привет. Хотел закинуть иконку своей проги в трей. Получилось. Но теперь как сворачивать и разворачивать форму программу(программно!) при нажатие на эту иконку? Использую компонент CoolTrayIcon. + Надо чтобы если программу свернул пользователь нажав на кнопку в системном меню, короче обратно её развернуть? Буду очень благодарен!
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 23.10.2012, 13:51   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

розвернуть программу -
Код:
procedure TForm1.CoolTrayIcon1Click(Sender: TObject);
begin
CoolTrayIcon1.ShowMainForm;
end;
end.
свернуть программу -
Код:
CoolTrayIcon.HideMainform;

Последний раз редактировалось beegl; 23.10.2012 в 13:56.
beegl вне форума Ответить с цитированием
Старый 23.10.2012, 17:49   #3
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
розвернуть программу -
Код:
procedure TForm1.CoolTrayIcon1Click(Sender: TObject);
begin
CoolTrayIcon1.ShowMainForm;
end;
end.
свернуть программу -
Код:
CoolTrayIcon.HideMainform;
а если её свернул пользователь нажав на кнопку в системном меню?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 24.10.2012, 08:13   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Например так
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMinimize := Form1.OnMin;
end;

procedure TForm1.OnMin(Sender: TObject);
begin
  //Здесь твой код сворачивания;
end;
FaTaL вне форума Ответить с цитированием
Старый 24.10.2012, 13:14   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

вроде я не так обьяснил. Как можно "засечь" нажатие клавиши свернуть в системном меню формы, есть ли такое событие?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 24.10.2012, 13:42   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
procedure TForm3.WinProc1(var Msg: TMessage);
begin
  if (Msg.wParam = SC_MINIMIZE) then  begin
    {И тут Ваш код на свертывание в трей}
  end
  else inherited;
end;
типа такого?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 24.10.2012, 14:15   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
Счастье

Цитата:
Сообщение от Sciv Посмотреть сообщение
Код:
procedure TForm3.WinProc1(var Msg: TMessage);
begin
  if (Msg.wParam = SC_MINIMIZE) then  begin
    {И тут Ваш код на свертывание в трей}
  end
  else inherited;
end;
типа такого?
попробую. Возможно оно.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 24.10.2012, 14:26   #8
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

ошибка: [Error] Unit1.pas(1311): Incompatible types.
Что-то нето.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 24.10.2012, 14:27   #9
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

вот ещё полный код:
Код:
procedure TForm1.WinProc(var Msg: TMessage);
begin
if Msg.WParam=Msg.wParam=SC_MINIMIZE then
begin
CoolTrayIcon1.HideMainForm; //скрываем форму компонентом
index:=true; //присваеваем значение специальной переменой
end
else
inherited;
end;
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 24.10.2012, 14:41   #10
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

есть возможная проблема, в том что процедура не используется.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иконка в системном трее (там, где часики) Македонский Win Api 6 22.12.2008 18:03
Иконка оперы в трее... Altera Софт 10 15.10.2008 08:32
Иконка в трее* Krow Win Api 5 20.07.2008 02:41
Иконка в трее Mangust Win Api 2 10.07.2008 13:43