Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#13

AW: WM_MOUSEMOVE in mehr als einem TControl verarbeiten.

  Alt 31. Mai 2017, 11:58
Zitat:
Versuche doch mal folgendes.
Erstelle eine Simple Form pack ein Image drauf und versuche dann einen Button in das Image zu setzen.
Ja, ist eine gute Idee. Anbei ein Testprojekt, was mein Problem 1:1 reproduziert. Bitte die Kommentarzeilen in den "OnMouseMove" procedures beachten.

Achja und: Vielen Dank für Deine Hilfe!!!!
Was soll ich jetzt mit deinem Test Tool machen?

Dieser Vorschlag war dazu gedacht um dir zu zeigen das TImage kein Parent von TGraphicControl ist.
Auch kein Child von TForm oder Child von TPanel. Nochmal es ist STATIC
Sorry ich möchte gerne helfen aber du verstehst es scheinbar nicht.

Siehe die Enumerierungen aller Childs von TForm auf dem dein Image liegt.
Ich denke deine Herangehensweise ist einfach falsch.
Nimm eine TPaintBox ohne irgendwelche Ableitungen und zeichne ausschließlich alles dort hinein.
Du willst zwischen verschiedenen Fenstern hin und her jonglieren.. Messagen senden, gut aber TImage hat kein Fenster-Handle "STATIC" und nun?

Um das zu analysieren habe ich dir gesagt verwende ein Spy Tool.
So wie du sehen kannst ist TPanel ein Kind Fenster von TForm und TButton ein Kind Fenster von TPanel.

Die MouseMove Messagen also in deinem Beispiel WM_SETCURSOR werden von der TForm ausgewertet und über Image.canvas.TextOut in das Image gezeichnet.
Die Frage ist was sagt dir das ?

gruss

Geändert von EWeiss (11. Jul 2019 um 15:47 Uhr)
  Mit Zitat antworten Zitat