AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

WM_MOUSEMOVE in mehr als einem TControl verarbeiten.

Ein Thema von alleinherrscher · begonnen am 30. Mai 2017 · letzter Beitrag vom 2. Jun 2017
 
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#9

AW: WM_MOUSEMOVE in mehr als einem TControl verarbeiten.

  Alt 31. Mai 2017, 10:42
Moment ich glaube wir brauchen mal was mehr Code:

Delphi-Quellcode:
TSelection = class(TGraphicControl)
private
   //[...]
public
  constructor Create(AOwner: TComponent; X,Y:integer);
published
  property OnMouseMove;
protected
  procedure Paint; override;
  procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  procedure WndProc(var Message: TMessage); override;
end;


Tf2DData = class(TForm)
 imgData: TImage;
 //[...]
 procedure imgDataMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
 private
    { Private-Deklarationen }
     //[...]
     procedure SelectionBoxTest;
 public
    { Public-Deklarationen }

end;

procedure Tf2DData.SelectionBoxTest;
var test:TSelection;
begin
  test:=TSelection.Create(self,100,100);
  test.Parent:=PanImage;
end;
So, imgDataMouseMove wird logischerweise nicht mehr aufgerufen, wenn der Mauscursor oberhalb von TSelection ist. Die obigen Codes können das bisher nicht verhindern und wenn ich an ImgData eine WM_MOUSEMOVE Nachricht schicke, bekomme ich einen STACK Overflow, vermutlich weil ImgData die Nachricht dann wieder an TSelection weiterschickt ...

//edit: ich sehe gerade, dass du Recht hast: Ich habe das Panel, auf welchem ImgData liegt, als Parent angegeben und nicht das Image ImgData selbst. Mein Fehler... sorry!! Aber wie löse ich das generelle Problem? Eine Nachricht direkt an ImgData? Aber wie finde ich allgemein heraus, welches Objekt unterhalb meiner TSelectionBox liegt, an die ich die Nachricht schicken muss?
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS

Geändert von alleinherrscher (31. Mai 2017 um 10:47 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
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