Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1091910277
Алекс_
2004-08-08 00:24
2004.08.29
Где бы скачать новые компоненты FastNet?


4-1089994372
Dir
2004-07-16 20:12
2004.08.29
OpenDir


1-1092199337
Dim!S
2004-08-11 08:42
2004.08.29
Глобальное описание ini-файл


14-1092034168
Яод
2004-08-09 10:49
2004.08.29
telnet


8-1086455902
Black Raven
2004-06-05 21:18
2004.08.29
Сравнение двух изображений




   Наверх