Du kannst es damit versuchen, die Message WM_RBUTTONDOWN abzufangen und somit auf einen rechten Mausklick + Koordinaten prüfen / reagieren.
Wenn die Mausklick-Koordinaten dann innerhalb des Rects des Flashmovies sind, die Message als "handled" gelten lassen und schon ist das Popup-Menü passé.
Ich hab sowas schonmal gemacht, um genau dieses Flash-Menü zu deaktivieren, allerdings habe ich da den Mausklick generell für das gesamte Delphi-Programm abgeschaltet.
(weil er da eh keine Verwendung hatte..und....reine Faulheit natürlich
)
Wenn du den rechten Mausklick in deinem Programm anderweitig brauchst, musst du in meinem Code eben noch eine Prüfung auf den lParam der Message einbauen, der angibt, wo geklickt wurde (X/Y der Client-Area) und dann dementsprechend den Mausklick erlauben oder nicht.
Hier die Message-beschreibung im
MSDN:
WM_RBUTTONDOWN
Application.OnMessage := Form1.NoFlashRightClick ;
...
..
Delphi-Quellcode:
procedure Form1.NoFlashRightClick(var Msg: TMsg; var Handled: Boolean) ;
begin
// hier noch durch eine Prüfung ergänzen, wo geklickt wurde (durch den Msg.lParam)
if((Msg.message = WM_RBUTTONDOWN) and (Msg.wParam = MK_RBUTTON)) then
begin
Handled := true ;
end
else
begin
Handled := false ;
end;
end;
Mit der linken Maustaste verhält es sich genauso, nur ist das dann natürlich die Message
WM_LBUTTONDOWN