Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

По поводу "запуздыривания" иконки в Tray


Страницы:   1 2

GrayFace ©   (2005-06-03 13:24:00) 

Если нажать правую кнопку, передвинуть мышь, и отпустить где-нибудь над рабочим столом, то получается очень некрасиво: Popup раб.стола накладывается на Popup иконки, а при нажатии на пустом месте убирается только Popup раб. стола.
Так себя ведут иконки почти всех приложений, но с CLCL все получается с точностью до наоборот.
Вопрос: как избежать такого эффекта?

PS: WinXP


Antonn   (2005-06-04 04:38:00) [1]

9 иконок. эффект отсутствует лишь на Регуляторе громкости и StyleXP(там по MouseDown).

ЗЫ А все таки надо быть порядочным извращенцем, что бы такие опыты ставить:)


alpet   (2005-06-03 19:19:00) [2]

У иконок что сразу показывают меню по (WM_RBUTTONDOWN) окно explorera (контрол в котором все иконки сосредоточены) получает сообщение WM_CANCELMODE, может его достаточно для предупреждения вывода меню? Судя повсему вся реакция этого контрола сосредоточена на WM_CONTEXTMENU - если это сообщение не происходит в точке какой-нибудь иконки, вызывается меню explorera, в противном случае сообщение игнорируется.


alpet   (2005-06-03 19:03:00) [3]

У sndvol32 с меню такая же история - popup explorer'a в большинстве случаев исчезает быстро.


alpet   (2005-06-03 19:00:00) [4]

sndvol32 тоже выводит регулятор при отпускании левой кнопки там где ее отпускаешь. Надо видимо запоминать точку нажатия (по WM_?BUTTONDOWN) и по отпусканию кнопки выводить в этом месте меню или что-там обычно должно быть.


Lin7   (2005-06-03 17:40:00) [5]

Некоторые программы (Outpost, например) дейсвительно выводят меню по WM_RBUTTONUP, WM_LBUTTONUP - тогда проблем вроде нет...


Lin7   (2005-06-03 17:36:00) [6]

Интересный эффект. У меня в WinXP SP2 усть у целого ряда приложений. Например у:
AVP v5.0.142
The Bat! v2.10.01
Process Explorer v9.02
и др.
Но ещё интересней с Punto swincher'ом - здесь popup раб. стола появляется, сразу быстро исчезает и на экране остаётся только popup Punto switchera. Эффект мелькания popup'a раб. стола не очень приятен, но как по мне всё же лучше чем появление на экране 2-х popup'ов. Есть идеи как создатели Punto swincher'a этого добились?
Не для рекламы, а для интересующихся: http://www.punto.ru/switcher


Gero   (2005-06-03 17:20:00) [7]


> Германн ©   (03.06.05 17:17)

Согласен, действительно несколько нестандартно.


Германн   (2005-06-03 17:17:00) [8]

2 Gero ©   (03.06.05 16:54) [17]
>Такой проблемы нет.
>Но у меня не explorer.

explorer'а нет, а трей есть! Оригинально.


Gero   (2005-06-03 16:54:00) [9]

Такой проблемы нет.
Но у меня не explorer.


Игорь Шевченко   (2005-06-03 16:22:00) [10]

Нормальные приложения показывают popup-меню по событию WM_RBUTTONUP, если мышь находится в их области, и событие WM_RBUTTONDOWN произошло, когда мышь находилась в их области.

В XP похоже, Explorer несколько некорректно отслеживает эти перемешения.


Neznaika   (2005-06-03 16:18:00) [11]

>>MIAMIAMIA   (03.06.05 16:05) [13]

>>Что бы избежать этого эффекта, Popup нужно всплыть по событию
>>WM_RBUTTONDOWN....

адназначна!


Германн   (2005-06-03 16:06:00) [12]

Проверил еще раз. И у "Подключения по локалке" то же такой эффект. :(


MIAMIAMIA   (2005-06-03 16:05:00) [13]

Что бы избежать этого эффекта, Popup нужно всплыть по событию WM_RBUTTONDOWN....
Я, так думаю...
case Message.LParam of  
   WM_RBUTTONDOWN:
     begin
       SetForegroundWindow(Handle);
       GetCursorPos(V_Ob_FInternal);
          .....
       V_Ob_Menu.Popup(V_Ob_FInternal.X, V_Ob_FInternal.Y);
     end;
  end;
Эффект Появляется, но реже :)...


Kerk   (2005-06-03 15:55:00) [14]

Игорь Шевченко ©   (03.06.05 15:52) [11]

У меня network connection, miranda, dnetc, google desktop search, gprs booster и лингво :)


Игорь Шевченко   (2005-06-03 15:52:00) [15]

Kerk ©   (03.06.05 15:48) [10]

На XP наблюдал только у Network Connection. Таки есть.


Kerk   (2005-06-03 15:48:00) [16]

WinXPprof+SP1
В трее 6 иконок. Эффект есть у всех.


Игорь Шевченко   (2005-06-03 15:46:00) [17]

Win2k sp4, в трее 6 иконок. Ни на одной такого эффекта не наблюдается.


Германн   (2005-06-03 15:41:00) [18]

В трее 12 иконок. Такой эффект есть у всех кроме "Подключения по локалке".


Плохиш   (2005-06-03 15:39:00) [19]


>GrayFace ©   (03.06.05 13:24)
>kami ©   (03.06.05 14:07) [2]
>xShadow ©   (03.06.05 14:29) [3]

Исправляем ошибки в 17ых строках


SammIk   (2005-06-03 15:15:00) [20]

У аськи нет такого, нет ни однои программы в трее.
Выход, показывать меню по событию WM_RBUTTONDOWN


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо