Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CM_MOUSELEAVE wird nicht beachtet? (https://www.delphipraxis.net/52659-cm_mouseleave-wird-nicht-beachtet.html)

DevilsCamp 1. Sep 2005 08:03


CM_MOUSELEAVE wird nicht beachtet?
 
Ich verarbeite bei einer Komponente (abgeleitet von TCustomControl) die Nachrichten CM_MOUSELEAVE und CM_MOUSEENTER.

Es funktioniert alles einwandfrei, allerdings habe ich das Problem, dass wenn ich einen Doppelklick auf die Komponente mache, dass die Komponente anscheinend nicht mehr verlassen wird. Egal wo ich nun im Programm klicke (selbst andere Forms, die von diesem geöffnet wurden), die Nachrichten gehen an diese Komponente.
Erst, wenn ich ein anderes Fenster (das NICHT zu meinem Programm gehört) betrete und dann zurück in mein Programm gehe, dann läuft alles wieder normal.

In der Methode zur Verarbeitung von CM_MOUSELEAVE habe ich folgendes stehen:
Delphi-Quellcode:
procedure TForm2.CMMouseLeave(var Msg: TMessage);
var
  p : TPoint;
begin
  inherited;
 
  GetCursorPos(p);

  if WindowFromPoint(p)<>Self.Handle then
  begin
    fmbdown      := false;
    frbdown      := false;
    fDoShowHint  := false;
  end;
end;
- fmbdown wird in WM_LBUTTONDOWN auf true gesetzt (bei WM_LBUTTONUP wieder auf false)
- frbdown wird in WM_RBUTTONDOWN auf true gesetzt (bei WM_RBUTTONUP wieder auf false)
- fDoShowHint wird über Timer auf true bzw. false gesetzt und gibt an, wenn eine eigene Hint-Box angezeigt werden soll.

DevilsCamp 6. Sep 2005 08:07

Re: CM_MOUSELEAVE wird nicht beachtet?
 
Hat hier wirklich keiner eine Ahnung, was das sein könnte?

Olli 8. Sep 2005 15:58

Re: CM_MOUSELEAVE wird nicht beachtet?
 
Ruf MSDN-Library durchsuchenReleaseCapture auf ;)

DevilsCamp 9. Sep 2005 09:50

Re: CM_MOUSELEAVE wird nicht beachtet?
 
Zitat:

Zitat von Olli
Ruf MSDN-Library durchsuchenReleaseCapture auf ;)

danke, muss ich mal testen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.

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