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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2008, 19:28   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Tray

Помогите пожалуйста упростить код, чтобы он был короче и без участия CheckBox.
Вложения
Тип файла: rar Tray.rar (25.7 Кб, 23 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 16.07.2008, 20:09   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Незнаю, как в остальных версиях, а в дельфи 2007 есть компонент TTrayIcon, находится во вкладке Additional... с ним всё просто.
по OnClick вызываешь процедуру:
Код:
procedure TMainForm.TrayIcon1Click(Sender: TObject);
begin
MainForm.Visible:=not(MainForm.Visible);
if MainForm.Visible then
begin
SetForegroundWindow(MainForm.Handle);
TrayIcon1.Visible:=false;
end
else TrayIcon1.Visible:=true;
end;
у ТрэйИкон параметр Висибл - фальс... и всё... делаешь кнопку или ещё какнить... при щелчке по ней вызывается TrayIcon1Click
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 16.07.2008 в 20:14.
Johnson вне форума Ответить с цитированием
Старый 16.07.2008, 21:42   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

К сожалению у меня не 2007, а просто 7. Нет это не то. Мне надо сделать код короче, избавиться от CheckBox и чтобы он не потерял свою функциональность.
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckBox1Click(Self);
CheckBox2Click(Self);
CheckBox3Click(Self);
CheckBox4Click(Self);
CheckBox5Click(Self);
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.TrayIcon1DblClick(Sender: TObject);
begin
TrayIcon1.CycleIcons:=False;
TrayIcon1.IconList:=nil;
ImageList1.GetIcon(0, TrayIcon1.Icon);
end;

procedure TForm1.ShowWindow1Click(Sender: TObject);
begin
TrayIcon1.ShowMainForm;
TrayIcon1.CycleIcons:=False;
TrayIcon1.IconList:=nil;
ImageList1.GetIcon(0, TrayIcon1.Icon);
end;

procedure TForm1.HideWindow1Click(Sender: TObject);
begin
Application.Minimize;
TrayIcon1.HideMainForm;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
TrayIcon1.ShowHint:=CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if Assigned(PopupMenu1) then
PopupMenu1.AutoPopup:=CheckBox2.Checked;
end;

procedure TForm1.CheckBox3Click(Sender: TObject);
begin
TrayIcon1.LeftPopup:=CheckBox3.Checked;
end;

procedure TForm1.CheckBox4Click(Sender: TObject);
begin
TrayIcon1.Enabled:=CheckBox4.Checked;
end;

procedure TForm1.CheckBox5Click(Sender: TObject);
begin
TrayIcon1.MinimizeToTray:=CheckBox5.Checked;
end;

procedure TForm1.WMQueryEndSession(var Message: TMessage);
begin
SessionEnding:=True;
Message.Result:=1;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=((not CheckBox6.Checked) or SessionEnding);
if not CanClose then
begin
TrayIcon1.HideMainForm;
TrayIcon1.IconVisible:=True;
end;
end;
Вложения
Тип файла: rar Tray_TCT.rar (349.8 Кб, 17 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 16.07.2008, 21:50   #4
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

тут чекбоксами выставляються только свойства трайикона, замени все что связано с чеками на свое усмотрение... а если это для тебя трудно то возьми готовый компонент и не трахай мозг другим
Ring0Sn вне форума Ответить с цитированием
Старый 16.07.2008, 22:35   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Радость

Прошу прощения. Что-то я стал тупить это наверно из-за жары 32 градусной . Действительно там разбираться 5 секунд. Ещё раз прошу прощения.
Shouldercannon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить программу в tray и запускать Johnt Общие вопросы Delphi 10 07.01.2009 14:35
Как определить координаты иконки приложения в system tray? SkAndrew Общие вопросы Delphi 5 18.08.2008 16:52
Как свернуть в Tray SeRhy Помощь студентам 1 09.12.2007 11:39
вызвать процедуру для tray.OnClick и закрузить в нее нужную иконку KORN Компоненты Delphi 8 02.10.2007 00:17