Показать сообщение отдельно
Старый 20.10.2010, 23:25   #3 (permalink)
KiD2
Member
 
Аватар для KiD2
 
Регистрация: 07.06.2010
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вот смотрите что получилось... Сам так и не понял что она делает))) Работает с треем, открывает какие-то файлы, таймеры зачем-то... Ай вообщем не важно держите... Если что не так... То уже час ночи и я ушел спать...
Код:
procedure TForm1.FormCreate(Sender: TObject); // процедура Создание формы
begin // начало процедуры
Application.OnMinimize:= OnMinimizeWindow; // Обработываем Application.onMinimize, чтобы минимизация срабатывала по нажатию кнопки на панели задач
dtpSite.Time:= time; // присваеваем таймеру dtpSite значение time
dtpProg1.Time:= time; // присваеваем таймеру dtpProg1 значение time
dtpProg2.Time:= time; // присваеваем таймеру dtpProg2 значение time
end; // конец процедуры

procedure TForm1.OnMinimizeWindow(Sender: TObject); // процедура свертывания окна
begin // начало процедуры
PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); // посылаем нашему окну сообщение о минимизации
SendMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); // минимизируем/сворачиваем окно формы
end; // конец процедуры

procedure TForm1.Timer1Timer(Sender: TObject); // Процедура обрабатывающая событие OnTimer, т.е. что будет происходит в через заданный интервал времени
begin // начало процедуры
lbTime.Caption:= timetostr(time); // переводим значением time в строку и присваиваем lbTime
if (lbTime.Caption)=timetostr(dtpsite. Time) then openprog(edsite.Text); //если значение lbTime совпадает со значением dtpsite открываем процедуру openprog для edsite
if (lbTime.Caption)=timetostr(dtpprog1 .Time) then openprog(edprog1.Text); //если значение lbTime совпадает со значением dtpprog1 открываем процедуру openprog для edprog1
if (lbTime.Caption)=timetostr(dtpprog2 .Time) then openprog(edprog2.Text); //если значение lbTime совпадает со значением dtpprog1 открываем процедуру openprog для edprog2
end; // конец процедуры

procedure TForm1.openprog(i: string); // Процедура открытия программы
begin // начало процедуры
shellexecute(TForm(owner).Handle, nil, PChar(i), nil, nil, SW_SHOWNORMAL); // запуск приложения
end; // конец процедуры

procedure TForm1.DefineIconInformation(Action : Integer; IC: TIcon); // Процедура действия со значком
var // объявляем переменные
notifIcData: TNotifyIconData; //
begin // начало процедуры
with notifIcData do  //  Заполняем структуру TNotifyIconData
begin // начало действия 1
cbSize := SizeOf(notifIcData); //  Размер
Wnd := Form1.Handle;  // Хендл нашего приложения(окна)
uId := 1; // присваиваем переменные
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; //
uCallbackMessage := WM_USER+1;//
hIcon := icon.Handle; // Хендл передаваемой в процедуру иконки
szTip := 'Program'; // Сообщение появляющееся при наведении
end; // конец действия 1
case action of //  Действия выполняемые процедурой, выбираем
1: Shell_NotifyIcon(Nim_Add, @notifIcData); // добавление
2: Shell_NotifyIcon(Nim_Delete, @notifIcData); // удаление 
3: Shell_NotifyIcon(Nim_Modify, @notifIcData); // изменение
end; // конец выбора
end; // конец процедуры

procedure TForm1.ControlWindow(var MSG: TMessage); // процедура управления окном
begin // начало процедуры
if msg.WParam = SC_MINIMIZE then // если окно свернуто то
begin // начало действия 1
DefineIconInformation(1, Application.Icon);  //  Добавляем значок в трей
ShowWindow(Handle, SW_HIDE); //  Скрываем программу
ShowWindow(Application.Handle, SW_HIDE); //  Скрываем кнопку с TaskBar'а
end else // конец действия 1, иначе
inherited; //
end; // конец процедуры

procedure TForm1.MouseReaction(var MSG: TMessage); // Процедура реакции на мышь
var // объявляем переменные
p: TPoint; //
begin // начало процедуры
GetCursorPos(p); // Запоминаем координаты курсора мыши
case msg.LParam of // Проверяем какая кнопка была нажата
WM_LBUTTONUP, WM_LBUTTONDBLCLK: // Действия, выполняемый по одинарному или двойному щелчку левой кнопки мыши на значке. В нашем случае это просто активация приложения
begin // начало действия 1
DefineIconInformation(2, Application.Icon); // Удаляем значок из трея
Showwindow(Application.Handle, SW_SHOW); // Восстанавливаем кнопку программы
ShowWindow(Handle, SW_SHOW); // Восстанавливаем окно программы
end; // конец действия 1
WM_RBUTTONUP: // Действия, выполняемый по одинарному щелчку правой кнопки мыши
begin // начало действия 2
SetForegroundWindow(Handle); // Восстанавливаем программу в качестве переднего окна
PopupMenu1.Popup(p.X, p.Y); // Заставляем всплыть TPopUp - всплывающее меню и выводят там те или иные действия
Postmessage(Handle, WM_NULL,0,0); //
end; // конец действия 2
end; // конец выбора
end; // конец процедуры

procedure TForm1.Show1Click(Sender: TObject); // Процедура клика мыши
begin // начало процедуры
DefineIconInformation(2, Application.Icon); //  Удаляем значок из трея
ShowWindow(Application.Handle, SW_SHOW); //  Восстанавливаем кнопку программы
ShowWindow(Handle,SW_SHOW);  // Восстанавливаем окно программы
end; // конец процедуры

procedure TForm1.Exit1Click(Sender: TObject); // Процедура нажатия кнопи выхода
begin // начало процедуры
Application.Terminate; // закрываем приложение
end; // конец процедуры

procedure TForm1.btTimerClick(Sender: TObject); // Процедура нажатия на таймер
begin // начало процедуры
timer1.Enabled:= not(timer1.Enabled); // вкл\выкл таймер
end; // конец процедуры

procedure TForm1.brBrowseClick(Sender: TObject); // Процедура выбора файла
begin // начало процедуры
if opendialog1.Execute then // Если файл выбрали, тогда
edprog2.Text:= OpenDialog1.FileName; // записываем имя файла
end; // конец процедуры

end. // конец программы
KiD2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070