Menu kontekstowe, otwierane także z klawisza między prawym alt i ctrl

0

Jak w temacie, jak zrobić żeby program na ten klawisz reagował? próbowałem z onkeypress i sprawdzić numer klawisza ord(key) ale to nie działa...

0

Z tego, co mi przychodzi na myśl (tylko nie bijcie !), to jest hook na klawiaturę i sprawdzanie, czy nasze okno było aktywne, kiedy dany klawisz został naciśnięty.

0

proponuję inaczej: zdarzenie OnContextPopup
wtedy znika problem klawisza alt<>TEGOWŁAŚNIE<>Ctrl
znika nawet taki problem że jak ktoś ma w panelu sterowania myszkę ustawioną dla leworęcznych to nie trzeba tego sprawdzać i w zależności od tego dawać if przycisk=mbRight albo mbLeft

matti, jak już przyjechałeś do mnie na niedzielę, to rusz tyłek i weź rower czy coś. Jeszcze przez ciebie bana tu dostanę za multikonta albo podszywanie się pod anonima...

0

Najprościej to chyba zrobić tak jak poniżej, po uprzednim ustawieniu KeyPreview na True dla Formatki i nie ma sensu do tej funkcji zaprzęgać Hook'a, bo obsłużenie klawisza powoduje, że kiedy formatka jest aktywna, to system nie rozwinie nam już Menu Start.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  P : TPoint;
begin
  if Key = VK_RWIN then
  begin
    GetCursorPos(P);
    PopupMenu1.Popup(P.X, P.Y);
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1