Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 40
1

Свернуть прогу в tray

28.03.2013, 07:09. Показов 1800. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нашел некий материал, но не знаю как добавить процедуру:

Delphi
1
2
3
procedure TForm1.ApplicationMinimize(Sender : TObject);
begin
end;
Есть просто вставить в код, ругается!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2013, 07:09
Ответы с готовыми решениями:

Свернуть прогу в трей
нашел компонент TextTrayIcon не пойму как с ним работать. А может кто другой способ знает для того...

Как свернуть прогу в трей?
Народ как свернуть прогу в трей ну соответственно вытаскивать оттуда и проводить всякие опирации...

Подвисает при попытке свернуть свое окно программным нажатием мышью по значку свернуть
Windows.SetCursorPos(x,y); if mh.move=false then begin if mh.LBtn then begin if...

Как свернуть прогу в system tray?
Можно ли свернуть фоксовскую прогу в область уведомлений или это невозможно?

7
46 / 46 / 14
Регистрация: 12.02.2013
Сообщений: 157
28.03.2013, 09:03 2
Компонент - TTrayIcon
0
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 40
28.03.2013, 09:29  [ТС] 3
А в Delphi 7 он есть, что-то не могу найти!
0
46 / 46 / 14
Регистрация: 12.02.2013
Сообщений: 157
28.03.2013, 10:38 4
Вроде должен быть. Если нет - найди и установи TCoolTrayIcon
0
Эксперт Pascal/Delphi
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
28.03.2013, 10:49 5
Цитата Сообщение от Z-7000 Посмотреть сообщение
А в Delphi 7 он есть, что-то не могу найти!
нет
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
28.03.2013, 13:13 6
Свернуть - это только полдела. Ее же еще и доставать придется...
В Delphi 7 делаю так (у кого-то честно поделился):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
procedure TfmMain.Tray;
//ñâåðíóòü â òðåé
var nid: TNotifyIconData;
begin
  with nid do
    begin
      cbSize:=SizeOf(TNotifyIconData);
      Wnd:=fmMain.Handle;
      uID:=1;
      uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
      uCallBackMessage:=WM_USER + 100;
      hIcon:=Application.Icon.Handle;
      StrPCopy(szTip,'GWswitch');
    end;
  Shell_NotifyIcon(NIM_ADD,@nid);
  fmMain.Hide;
end;
 
procedure TfmMain.IconCallBackMessage(var Mess:TMessage);
//âûçîâ ïðîãðàììû èç òðåÿ
begin
  case Mess.LParam of
    WM_LBUTTONDBLCLK:
      begin
        fmMain.Show;
        TrayIconClose();
      end;
  end;
end;
 
procedure TfmMain.TrayIconClose();
//óäàëèòü èêîíêó èç òðåÿ
var nid: TNotifyIconData;
begin
  with nid do
    begin
      cbSize:=SizeOf(TNotifyIconData);
      Wnd:=fmMain.Handle;
      uID:=1;
      uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
      uCallBackMessage:=WM_USER + 100;
      hIcon:=Application.Icon.Handle;
      StrPCopy(szTip,'GWswitch');
    end;
  Shell_NotifyIcon(NIM_DELETE,@nid);
end;
и еще при этом обязательно
Delphi
1
2
3
4
  ....
  public
    { Public declarations }
    procedure IconCallBackMessage(var Mess:TMessage); message WM_USER+100;
0
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
28.03.2013, 21:27 7
Цитата Сообщение от Shurvik Посмотреть сообщение
Компонент - TTrayIcon
А динамически его можно создать - этот компонент?
0
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 40
30.03.2013, 20:07  [ТС] 8
Спасибо за такой хороший ответ.! ) обязательно сохраню.! Но я эту работу с треем кода-то сделал, может не так красиво, но работает!
Нужно было просто с панели задач программы убрать.! Сделал так:

Delphi
1
2
3
4
5
procedure TForm1.FormDestroy(Sender: TObject);
begin
    Shell_NotifyIcon(NIM_DELETE, @TrayIconData);
    Application.ShowMainForm:=false;
end;
можно и так:

Delphi
1
2
3
4
5
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
     DrawAnimatedRects(Handle, IDANI_CAPTION, BoundsRect,Rect(Width - 20, Height, Width - 10, Height+1000));
     Application.ShowMainForm:=false;
end;
эта процедура должна была красиво свернуть форму, но что-то не работает.!
0
30.03.2013, 20:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2013, 20:07
Помогаю со студенческими работами здесь

Консольное приложение свернуть в tray
Здравствуйте... Как свернуть консольное приложение, чтоб пользователь его не видел... можно даже...

Как свернуть программу в System Tray?
Привет всем! У меня такой вопрос: как программу написанную на VB (например по нажатию кнопки)...

Как добавить еще свернуть, свернуть/развернуть?
сделал рамку через BorderStyle

Написал прогу, создал Release конфигурацию. Какие оттуда файлы нужны, чтоб передать прогу заказчику
там их 6 штук вышло. понимаю для чего myapp.exe -собственно сам exe myapp.exe.xml - там...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru