Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 54

/ вопрос открыт /

У меня через определенное пользователем время
в RichEdit записіваются кое-какие строки (допустим имена найденых файлов)
Хочу, чтобы форма при сворачивании отображалась отображалась в СистемТрее а не на панели задач (желательно выбрать, как удобнее для пользователя).
И когда форма в Трее или на панеле задач,
строки, которие записываются в РичЭдит в какое то момент (через заданое время, или после заполнения РичЭдита) Отображались так, как в WinХР отображается информация о только что найденых устройствах, или о подключении к сети. И чтобы это уведомление задерживалось на заданое время.

Помогите!!

Спасибо.

Игорь Середюк Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Игорь Середюк (статус: Посетитель)
Вопрос отправлен: 21 июня 2006, 17:59
Состояние вопроса: открыт, ответов: 3.

Ответ #1. Отвечает эксперт: Евгений Козаченко

Юзай компонент CoolTrayIcon.
Брать тут - www.delphi32.com/vcl/5086/

В нём есть отдельные функции для сворачивания в Трей, Скрытия из панели задач, вывода сообщений. У них простые параметры, легко разберёшься в использовании.

P.S. Вообще там два компонента (один - обычная иконка в трее, а другой - спец. для вывода текста в трей (проценты копирования например)).

Ответ отправил: Евгений Козаченко (статус: 2-ой класс)
Время отправки: 21 июня 2006, 18:49

Ответ #2. Отвечает эксперт: Darya Ermakova

Для сворачивания в трей на сайте есть компонент Cool Tray Icon.
Для уведомления можно оформить соответствующим образом форму, показать ее, а потом закрыть:
Form1.Show;
Sleep(5000); //отображается 5 секунд
Form1.Close;

Ответ отправила: Darya Ermakova (статус: 8-ой класс)
Время отправки: 21 июня 2006, 19:10

Ответ #3. Отвечает эксперт: feenords

Бери CoolTrayIcon. Самый лучший компонент для работы с треем!

К ответам добавлю:
Как осуществить натройку (чтобы пользователь выбирал):
1) Ставь на форму (где будут настройки) 3 RadioButton (Отображение "И в трее и на панели задач","Только на панели задач","Только в трее" - соответственно каждое - для Caption RadioButton1-3) и кнопку (Button1). Я полагаю, что настройка будет на другой форме (например, Form2). А на главную форму CoolTrayIcon1 (с ним проведи настройу как хочешь):
2) В OnClick RadioButton1 пиши:
Form1.CoolTrayIcon1.IconVisible:=True;
Form1.CoolTrayIcon1.ShowTaskbarIcon;
3) В OnClick RadioButton2 пиши:
Form1.CoolTrayIcon1.IconVisible:=False;
Form1.CoolTrayIcon1.ShowTaskbarIcon;
4) В OnClick RadioButton3 пиши:
Form1.CoolTrayIcon1.IconVisible:=True;
Form1.CoolTrayIcon1.HideTaskbarIcon;
5) В OnClick Button пиши:
IniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Settings.ini'); IniFile.WriteBool('Tray','Visible1',RadioButton1.Checked); IniFile.WriteBool('Tray','Visible2',RadioButton2.Checked);
IniFile.WriteBool('Tray','Visible3',RadioButton3.Checked);
IniFile.Free;
//Сохранение настроек в ini-файл, предварительно добавь в uses IniFiles, а затем, где:
var
Form1: TForm1; //у тебя это уже есть
IniFile: TIniFile; //а вот это добавь
6) В OnCreate формы пиши (Загрузка значений):
IniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Settings.ini');
RadioButton1.Checked:=IniFile.ReadBool('Tray','Visible1',RadioButton1.Checked);
RadioButton2.Checked:=IniFile.ReadBool('Tray','Visible2',RadioButton2.Checked);
RadioButton3.Checked:=IniFile.ReadBool('Tray','Visible3',RadioButton3.Checked);
IniFile.Free;
7) Вроде бы всё... но можно поэксперементировать с отображением кнопки Button.Enable:=True или False;
Например, когда значения RadioButton1-3 стоят так как надо и их никто не изменял, то Button.Enable:=False;
А при изменении (при переключении между RadioButton)
Button.Enable:=True;
А затем при принятии настроек
Button.Enable:=False;
И так далее... эксперементировать можно бесконечно...

Ответ отправил: feenords (статус: 1-ый класс)
Время отправки: 22 июня 2006, 00:55


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 20 августа 2006, 13:46; участников в обсуждении: 1.
Syros

Syros (статус: Посетитель), 20 августа 2006, 13:08 [#1]:

Вообще в BDS 2006 есть уже компонент для работы TrayIcon, там есть и управление всплывающими подсказками.
В ранних версиях в компонентах RX есть RxTrayIcon, очень удобная вещь, на Delphi 7 проверено работает на ура. У компонента есть все необходимые свойства.
Syros

Syros (статус: Посетитель), 20 августа 2006, 13:46 [#2]:

И еще можно ручками все это сделать, в DelphiWorld есть пример, но если надо могу бросить строчки кода.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.