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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2007, 23:17   #1
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
По умолчанию Координаты ОУ?

Возможно у меня возникнут ещё вопросы подобные данному, также не исключаю, что эти вопросы с одной стороны ближе к выньапи, с другой - вопросы новичка.
1. Где находится область уведомлений? В тот момент, когда юзверь кликает по значку проги, находящемуся в области уведомлений, необходимо отобразить форму согласно координатам, которые я пока не знаю, как получить.
Несложно получить координаты панели задач в целом, но именно область уведомлений (трей) с координатами значка, на котором кликнул юзверь пока у меня вызывает проблемы.
Fainder вне форума Ответить с цитированием
Старый 15.10.2007, 00:17   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Не знаю, как проще окно по значку в трее, но предлагаю вот такой вариант. По крайней мере, он теоретически работает.
Область уведомлений=трей. Ищи средствами АПИ. FindWindow с по классу ToolBarWindow32. Чкрыто "кликая" по трею мышкой (а именно, используя ф-ции mouse_event/ShowCursor) автоматически отправляется мессаг в окно, к которому привязан данный значок в трее. А установив глобальный хук, принимай сообщения и фильтруй их в моменты, когда кликаешь по значку в трее. Если не нашел "своих" сообщений, то переходим к следующему окну итд. После того, как таким методом "наощупь" отловил нужное событие и нашео окно, применяешь АПИшную ShowWindow, чтобы его показать или делаешь с ним что хочешь...
SkyM@n вне форума Ответить с цитированием
Старый 15.10.2007, 12:41   #3
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
По умолчанию

2SkyM@n: По идее должно получиться, я сам думал о чём-то подобном, но представь, сколько ресурсов будет на это уходить особенно на слабых машинах.
Нужно всего лишь вместо контекстного меню при щелчке по значку в ОУ показать форму, это меню заменяющую.
Fainder вне форума Ответить с цитированием
Старый 15.10.2007, 12:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сообщение от Fainder Посмотреть сообщение
2SkyM@n: По
Нужно всего лишь вместо контекстного меню при щелчке по значку в ОУ показать форму, это меню заменяющую.

Прога твоя? Если да то просто обрабатывай нужное сообщение, которое передастся твоей проге по клику на твою иконку в трее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2007, 16:23   #5
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
По умолчанию

Цитата:
Прога твоя?
Да
Цитата:
обрабатывай нужное сообщение, которое передастся твоей проге по клику на твою иконку в трее.
не примите за ламерсво, как?
Fainder вне форума Ответить с цитированием
Старый 15.10.2007, 16:25   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Fainder Посмотреть сообщение
2SkyM@n: По идее должно получиться, я сам думал о чём-то подобном, но представь, сколько ресурсов будет на это уходить особенно на
Ну ресурсов уходить мало, на что им тратиться? Обьекты мы не создаем, а на поиск по дескрипторах и хук нам много не надо. Хотя этот вариант практически трудоемкий, но больше вариантов нет. Если бы это была твое пограмма -тады понятно. А известно имя программы или имя окна или класса окна, еще что-то?
SkyM@n вне форума Ответить с цитированием
Старый 15.10.2007, 16:26   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

>Прога твоя?
Цитата:
Сообщение от Fainder Посмотреть сообщение
Да
Блииин.... А я тут ему всякие гадости предлагаю.. Ты если значок создаешь, то обработчик ставишь?
SkyM@n вне форума Ответить с цитированием
Старый 15.10.2007, 16:27   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Fainder Посмотреть сообщение
не примите за ламерство, как?
Да так же, как и для любого объекта на своей форме - OnMouseDown, ..Up
mihali4 вне форума Ответить с цитированием
Старый 15.10.2007, 16:36   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Верно. Недавно тут уже был пример с треем, кажись, порули поиском, если не найдешь отпишись я скину.

Михалыч, ты не радуй его, это мы с тобой знаем откуда у OnMouseXXX Ноги ростут, а автор если конечно не воспользуется TTrayIcon или подобным компонентом так врядли поймет.
I'm learning to live...

Последний раз редактировалось Stilet; 15.10.2007 в 16:39.
Stilet вне форума Ответить с цитированием
Старый 15.10.2007, 20:59   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Нужно всего лишь вместо контекстного меню при щелчке по значку в ОУ показать форму, это меню заменяющую.
синим цветом нужные тебе координаты
Код:
procedure TForm1.WMICON(var msg: TMessage);
var P : TPoint;
begin
 case msg.LParam of         // обработка обратных сообщений
 WM_RBUTTONUP:        //по нажатию левой клавиши, WM_RBUTTONUP по правой
  begin
   GetCursorPos(p);
   SetForegroundWindow(Application.MainForm.Handle);
   PopupMenu1.Popup(P.X, P.Y);
  end;
 //WM_LBUTTONDBLCLK : RestoreItemClick(Self); //как Default
 WM_LBUTTONUP : RestoreItemClick(Self); //как Default
 end;
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координаты клика snake-as JavaScript, Ajax 0 24.02.2008 15:44
Координаты окон Лубышев Общие вопросы Delphi 6 22.01.2008 19:40
Координаты курсора Haster Win Api 8 06.08.2007 12:04
координаты Aram Общие вопросы C/C++ 5 08.06.2007 20:03
полярные координаты zetrix Microsoft Office Excel 0 31.10.2006 07:40