jak wyłączyć otwieranie menu prawym klawiczem myszy

0

chodzi mi o to żeby po naciśnięciu prawego klawisza myszy (niezależnie od położenia kursora) nie otwierało się menu.
BTW Da się to zrobić samym Delphi czy trzeba korzystać z WinAPI ?

0

Rozumiem, że to dla jakiegoś konkretnego komponentu bądź formatki. Są trzy sposoby i nie potrzeba do
nich WinApi. Przynajmniej ja znam tylko te. Pierwszy po prostu nie ustawiać PopupMenu dla komponentu
lub formatki. Drugi to stworzyć dynamicznie puste PopupMenu i przypisać je do komponentu lub formatki
w OnCreate. Trzecie to wykorzystać zdarzenie komponentów i formatek OnContextPopup, w taki sposób:

procedure TForm1.ListBox1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  Handled := True;
end;
0

nie ustawiać popmenu, ok. Tak mam od początku ale to działa tylko gdy kursor jest nad oknem aplikacji, a jak zrobić żeby to menu nie otwierało się nawet gdy ktoś kliknie poza obszarem okna np gdzieś na pulpicie ?

0

A to jak rozumiem chcesz zablokować Menu Windowsowe, bo piszesz, że poza aplikacją. Tego niestety nie
wiem i nie jestem pewien czy w łatwy spsób da się to zrobić. Trzeba by może użyć jakiegos "Tweakera" ;/

0

Musisz zrobić globalnego haka
SetWindowsHookEx

0

z tego co wiem (dopiero się uczę) to globalny hook sprawi, że wszystkie zdarzenia typu naciśnięcie klawisza na klawiaturze lub przycisku myszy będą kierowane do aplikacji i w niej już muszę to obsłużyć. Komponent keyspy to wykorzystuje ale nie wpływa na rzeczy typu otwieranie menu, chyba że się mylę.

0
fr3on napisał(a)

z tego co wiem (dopiero się uczę) to globalny hook sprawi, że wszystkie zdarzenia typu naciśnięcie klawisza na klawiaturze lub przycisku myszy będą kierowane do aplikacji i w niej już muszę to obsłużyć. Komponent keyspy to wykorzystuje ale nie wpływa na rzeczy typu otwieranie menu, chyba że się mylę.

key spy wykorzystuje hooka ale na konkretne zdarzenia - naziskanie klawiszy.
jak zalozysz hooka na mysz to bedziesz mogl zablokowac np klikniecie prawego przycisku myszy.
pytanie tylko czy:
chcesz zablokowac popup dla konkretnego okna czy dla kazdego okna/programu w systemie?
bo np stosujac blokowanie prawego przycismy myszy wylaczysz mozliwosc np oddalania obrazu w niektorych programach graficznych - a tam pod tym przyciskiem nie ma popupmenu.

P.S. z tego co pamietam to wszysktie popupy sa oknami konkretnej klasy- i temu tez sie warto przyjrzec.

0

chce zablokować popup dla każdego okna w systemie

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