Hallo papabaer,
vielleicht hilft dir dieser Vorschlag: ziehe eine TApplicationEvents-Komponente (Registerkarte "Zusätzlich") auf dein Hauptformular und weise ihrem
OnMessage-Ereignis die folgende Behandlungsroutine zu:
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message (var Msg: tagMSG; var Handled: Boolean);
var
WinControl : TWinControl;
Control : TControl;
begin
if (Msg.message = WM_MOUSEMOVE) then
begin
WinControl := FindVCLWindow(Msg.pt);
if (WinControl = nil) then
Caption := ''
else
begin
Control := WinControl.ControlAtPos(WinControl.ScreenToClient(Msg.pt), True);
if (Control = nil) then
Control := WinControl;
Caption := Format('%s (name="%s")', [Control.ClassName, Control.Name]);
end;
end;
end;
Wenn du nun dein Programm startest und mit dem Mauszeiger über die Controls fährst, werden in der Titelzeile des Hauptformulars Klassenname und Name des Controls unter dem Mauszeiger angezeigt. Möglicherweise entdeckst du ja so das gesuchte Element.
Nach dem Abschluß deiner Untersuchungen solltest du den Code wieder aus dem Programm entfernen. Alle Nachrichten durchlaufen die Routine und bremsen somit die Applikation unnötig aus.
Gruß Hawkeye