Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Verhindern, dass Objekte MouseOver-Event erhalten (https://www.delphipraxis.net/26056-verhindern-dass-objekte-mouseover-event-erhalten.html)

OrallY 17. Jul 2004 11:41

Re: Verhindern, dass Objekte MouseOver-Event erhalten
 
Nun ja, wie ich schon sagte: Die Awendung verfügt über keine sichtbares Fenster. Außerdem muss die Maus über den gesamten Bildschirm bewegt werden können.

Ich habe auch schon versucht, wie oben zu lesen, eine Form mit AlphaBlend in den Vordergrund zu setzten. Ok, es hat funktioniert, da ich allerdings die Maus nur einschränken will, wenn die rechte Maustaste gedrückt ist, musste ich die Form immer ein und ausblenden, was allerdings zu spürbaren verzögerungen führte.

OrallY 18. Jul 2004 11:33

Re: Verhindern, dass Objekte MouseOver-Event erhalten
 
Ich habe jetzt mal versucht, mit nem GetMsg-Hook die WM_MOUSEMOVE-Messages zu modifizieren, nur funktioniert das scheinbar nicht (jedenfalls nicht so, wie ich es mache :wink:):

Delphi-Quellcode:
function GetMsgProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
  msg: ^TMsg;
begin
  {...}
  msg := Pointer(lParam);
  if (msg^.message = WM_MOUSEMOVE) then
  begin
    msg^.wParam := 0;
    msg^.lParam := MakeWord(0, 0);
  end;
end;

mschaefer 18. Jul 2004 12:06

Re: Verhindern, dass Objekte MouseOver-Event erhalten
 
HM, Welchen Anwendungszweck soll Dein Programm eigentlich haben ?

Warum soll jeman nicht mit der Maus arbeiten dürfen und was machst Du mit
der Tastatur. Wenn Du ein unsichtbares Fenster über den Bildschirm gelegt
hast, dann gehen auch die Tastatureingaben an dieses. Also es geht gar nichts...

???? /Martin

OrallY 18. Jul 2004 12:25

Re: Verhindern, dass Objekte MouseOver-Event erhalten
 
Ich arbeite wieder einmal ein Gesture, einem Gestenerkennungsprogramm. Dabei zeichnet man bei gedrückter Maustaste irgendwo auf den Bildschirm. Wenn jedoch beim Zeichnen ein Highlight aktiviert wird, wird auch diese Stelle neu gezeichnet und dabei die gezeichnete Linie die auf dem Objekt liegt gelöscht.

TStringlist 18. Jul 2004 17:00

Re: Verhindern, dass Objekte MouseOver-Event erhalten
 
@OrallY

Das MainMenu gehört übrigens zum NonClient-Bereich. Eventuell könnte man hier also auch mal mit den WM_NC...-Messages experimentieren, ala:

Delphi-Quellcode:
if (PMSG(lParam)^.message = wm_NCMouseMove)
and (PMSG(lParam)^.wParam = HTMenu)
then windows.beep(1000,10);


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz