|
Вопрос # 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 (статус: Посетитель), 20 августа 2006, 13:08 [#1]:
Вообще в BDS 2006 есть уже компонент для работы TrayIcon, там есть и управление всплывающими подсказками.
В ранних версиях в компонентах RX есть RxTrayIcon, очень удобная вещь, на Delphi 7 проверено работает на ура. У компонента есть все необходимые свойства.
|
|
Syros (статус: Посетитель), 20 августа 2006, 13:46 [#2]:
И еще можно ручками все это сделать, в DelphiWorld есть пример, но если надо могу бросить строчки кода.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|