![]() |
Komponente unter der Maus erhalten
Hallo zusammen,
ich glaube das gabs schonmal, habs aber mit der suchfunktion nicht gefunden! wie kann ich die art der komponente (z.B. TImage, TEdit, TForm, ...) bekommen, die sich gerade unter dem mauszeiger befindet? es würde ja auch eine function gehen, der ich zwei koordinaten übergeben muss und die mir dann die komponente zurück liefert! kennt da jemand was? gruss, iaby |
Re: Komponente unter der Maus erhalten
Aus der Delphi Hilfe:
Zitat:
|
Re: Komponente unter der Maus erhalten
:hi:
Delphi-Quellcode:
EDH :
FindVCLWindow
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var p : TPoint; wc : TWinControl; begin GetCursorPos(p); if (P.x>Left) and (P.x<Left+Width) and (P.Y>Top) and (P.Y<Top+Height) then begin wc:=FindVCLWindow(p); if wc<>nil then Label1.Caption :=TObject(wc).ClassName Else Label1.Caption :='unbekannt'; end; end; [Edit] Noch auf Deutsch : Mit FindVCLWindow können Sie das fensterorientierte Steuerelement, das sich an einer bestimmten Position befindet, ermitteln. Beispielsweise läßt sich mit FindVCLWindow das fensterorientierte Steuerelement ermitteln, auf dem sich der Mauszeiger befindet, wenn ein anderes Steuerelement aktuell alle Mausbotschaften abfängt. Der Parameter Pos bezeichnet die Position, innerhalb derer sich das zurückgegebene Steuerelement befinden muß. Wenn sich an dieser Stelle kein fensterorientiertes Steuerelement befindet, liefert FindVCLWindow den Wert nil zurück. |
Re: Komponente unter der Maus erhalten
getwindowfrompoint
|
Re: Komponente unter der Maus erhalten
dankeschön!!!
werde mir beide möglichkeiten mal anschauen! gruss, iaby |
Re: Komponente unter der Maus erhalten
mit findvclwindow bekomme ich aber nur die Form (Form1)!
ich will aber auch Tedit oder TButton und so bekommen! da muss es doch auch was geben! zu getwindowfrompoint: die funktion findet er nicht und ist auch nicht in der hilfe dokumentiert! in welcher unit versteckt die sich denn ;-) ? gruss, iaby |
Re: Komponente unter der Maus erhalten
Moin iaby,
die Funktion heisste gemeinerweise WindowFromPoint, ohne Get davor... |
Re: Komponente unter der Maus erhalten
Aber auch mit WindowFromPoint bekomme ich nicht die einzelnen komponenten!
da muss es doch eine funktion für geben! kennt die niemand? |
AW: Komponente unter der Maus erhalten
Wenn du den Namen suchst, muss den den Namen erfragen.
Erweitere im Timer (oben) das Label um den Namen der Komponente wie folgt: if wc<>nil then Label1.Caption :=TObject(wc).ClassName + ' ' + wc.Name |
AW: Komponente unter der Maus erhalten
Wen interessiert ein 15 Jahre altes Thema noch warum gräbst du das aus und glaubst das den User das noch interessieren könnte.
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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