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

Вниз

PopupMenu   Найти похожие ветки 

 
z007   (2004-07-10 23:51) [0]

Почему(?)-то не так как всегда работает.
При показанном Popup (например, к форме), на повторный щелчок правой кнопкой меню не реагирует: по идее должно появляться заново - в месте щелчка. Ан нет...
Как поправить?


 
Gandalf ©   (2004-07-12 18:57) [1]

Це по API-шному, по грамотному... Если у тебя мыша не подвинулась - то меню не показываться. Можно немного мышь сдвигать или делать проверку на меню... Мне это не совсем нравиться - надо проверить координаты старой - а я просто делаю сдвиг на пиксель...

//[function WndProcAutoPopupMenu]
function WndProcAutoPopupMenu( Control: PControl; var Msg: TMsg; var MsgRslt: Integer ): Boolean;
begin
 if (Msg.message = WM_CONTEXTMENU) and
    (Control.fAutoPopupMenu <> nil) then
 begin
   {$IFDEF USE_MENU_CURCTL}
   PMenu( Control.fAutoPopupMenu ).fCurCtl := Control;
   {$ENDIF USE_MENU_CURCTL}
   if GetMenu(Control.Handle)=0 then // Проверка если меню уже есть
     PMenu( Control.fAutoPopupMenu ).Popup( SmallInt( LoWord( Msg.lParam ) ),
          SmallInt( HiWord( Msg.lParam ) ) )
   else
     PMenu( Control.fAutoPopupMenu ).Popup( SmallInt( LoWord( Msg.lParam ) ),
          SmallInt( HiWord( Msg.lParam )+1 ) );
   Result := TRUE;
 end
   else
 Result := FALSE;
end;


 
z007   (2004-07-13 23:07) [2]

Почему-то не помогает...
Дело вот в чем. Создаю пустой kol-проект, делаю popupMenu для формы.
Щелкаю правой кнопкой - меню появляется.
Передвигаю мышь в другую область формы, щелкаю правой кнопкой. Новое меню не появляется, прежнее - не исчезает (содержание меню зависит от того, в какой точке нажата правая кнопка).Пока что приходится нажимать левую кнопку, чтобы сбросить всплывшее меню.


 
Vladimir Kladov   (2004-07-14 15:46) [3]

А если TKOLApplet на форме лежит? (без MCK - отдельно от MainForm создается Applet, как в примере)?


 
z007   (2004-07-18 11:48) [4]

Я извиняюсь за беспокойство :)
Оказалось достаточным указать
Result.PopupMenu1.Flags := TPM_RIGHTBUTTON;



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

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

Наверх




Память: 0.47 MB
Время: 0.048 c
14-1106363171
Думкин
2005-01-22 06:06
2005.02.13
С Днем Рождения! 22 января


14-1106349615
Просто Джо
2005-01-22 02:20
2005.02.13
Выбор Web-Server а


9-1097333342
rts111
2004-10-09 18:49
2005.02.13
Посмотрите кому интересно новую игру (rts 2.1Mb) rts111.narod.ru


1-1107251871
Demir
2005-02-01 12:57
2005.02.13
Excel


1-1106811370
s_pavell
2005-01-27 10:36
2005.02.13
Интересный модуль GraphicEx