Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

TaskBar + System Tray в Delphi   Найти похожие ветки 

 
Sj ©   (2004-07-03 13:19) [0]

Здраствуйте!У меня есть такой вопрос: как сделать на Делфи TaskBar и Трей?Каким образом отображать иконки которые находятся в трее, и что-бы при нажатии кнопок миши эти иконки вызывали соответствующии менюшки (POPUP)...За ответ буду очень благодарен. :)


 
K.o.Z   (2004-07-03 14:23) [1]

Не понял. Зачем тебе рисовать TaskBar и Tray??
Ты у себя в приложении режил сделать аля-windows??
Так не надо!! Один уже сделал... ;)


 
DVM ©   (2004-07-03 23:45) [2]


> У меня есть такой вопрос: как сделать на Делфи TaskBar и
> Трей

Руками. Между прочим данные 2 термина это одно и то же.
Есть область уведомлений и список задач.

> Каким образом отображать иконки которые находятся в трее

Ну способов куча - хошь рисуй сам, хошь делай как Microsoft из ToolBar, еще из TabControl можно - дело вкуса.

> и что-бы при нажатии кнопок миши эти иконки вызывали соответствующии
> менюшки (POPUP)...

Вопрос настолько объемный, что даже не знаю с какой стороны начать рассказывать, чтобы покороче.
Начни отсюда, что-ли:
http://www.delphikingdom.ru/asp/viewitem.asp?UrlItem=/treasury/systray.htm


> Ты у себя в приложении режил сделать аля-windows??

Скорее а-ля Explorer


 
Sijey ©   (2004-07-04 12:06) [3]

Я не спрашивал какими компонентамы рисовать!!Я спрашивал как витянуть иконки запущеных програм!Наверное через хендлы но как их найти...?Что ли через FindWindow?:(


 
Sur   (2004-07-04 12:29) [4]

Пример:

............

uses
  ShellAPI;

var
 NID: TNotifyIconData;

............

{Добавление}
procedure TForm1.bAddClick(Sender: TObject);
begin
{Установка необходимых значений в поля структуры TNotifyIconData}
WITH NID DO BEGIN
uFlags := NIF_ICON OR NIF_TIP OR NIF_MESSAGE;
cbSize := SizeOf(NID);
uID := 123;
Wnd := Handle;
szTip := "Пример подсказки"+#0;
hIcon := Application.Icon.Handle;
uCallBackMessage := WM_USER+10;
END;
{Добавление иконки в панель задач}
IF Shell_NotifyIcon(NIM_ADD,@NID) THEN MessageBeep(0);
end;

............

{Изменение}
procedure TForm1.bModifyClick(Sender: TObject);
begin
{Установка новых значений в поля структуры TNotifyIconData}
WITH NID DO BEGIN
szTip := "Пример подсказки 1"+#0;
hIcon := LoadIcon(0,IDI_ASTERISK);
END;
{Изменение иконки в панели задач}
IF Shell_NotifyIcon(NIM_MODIFY,@NID) THEN MessageBeep(0);
end;

............

{Удаление иконки из панели задач}
procedure TForm1.bDeleteClick(Sender: TObject);
begin
IF Shell_NotifyIcon(NIM_DELETE,@NID) THEN MessageBeep(0);
end;

............

{Процедура реакции на события передаваемые иконкой}
procedure TForm1.WndProc(var M: TMessage);
var CursorPos: TPoint;
begin
{Проверка на принадлежность сообщения иконке}
IF M.Msg = WM_USER+10 THEN
{Реакция на необходимые события}
CASE M.LParam OF
WM_RBUTTONUP :
BEGIN
GetCursorPos(CursorPos);
PopupMenu1.Popup(CursorPos.X, CursorPos.Y);
END;
WM_LBUTTONDBLCLK :
ShowMessage("Двойной щелчок мыши!");
END;
{Передача необработанных сообщений дальше}
INHERITED WndProc(M);
end;


 
Sasha73 ©   (2004-07-19 16:27) [5]

Удалено модератором
Примечание: Заддай свой вопрос в отдельной ветке


 
DeadMeat ©   (2004-07-19 20:12) [6]


> [4] Sur   (04.07.04 12:29)

Если я правильно понял автора, то это не совсем то... Точнее даже совсем не то...

---
...Death Is Only The Begining...



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
1-1092639039
alexts
2004-08-16 10:50
2004.08.29
О PGP...


4-1088846360
Sj
2004-07-03 13:19
2004.08.29
TaskBar + System Tray в Delphi


1-1092643707
an-na2002
2004-08-16 12:08
2004.08.29
Возврат к проверке


14-1091961456
Agent13
2004-08-08 14:37
2004.08.29
BSOD: Inaccessible boot device


3-1091605000
Oksana
2004-08-04 11:36
2004.08.29
Сохранение результата запроса в Recordset