Hallo Zusammen!
Ich habe das Problem, dass ich in einem FrameSet das Element unter der Maus
finden möchte...
Ohne Frames geht es bekanntlich so:
Delphi-Quellcode:
procedure TMainform.WebBrowser1DownloadComplete(Sender: TObject);
begin
if Assigned(WebBrowser1.Document) then
begin
htmlDoc := WebBrowser1.Document as IHTMLDocument2;
htmlDoc.onmouseover := (TEventObject.Create(Document_OnMouseOver) as IDispatch);
end;
end;
procedure TMainForm.Document_OnMouseOver;
var
element : IHTMLElement;
begin
if htmlDoc = nil then Exit;
element := htmlDoc.parentWindow.event.srcElement;
if LowerCase(element.tagName) = 'a' then
begin
Statusbar1.Simpletext := Format('Link : %s',[element.getAttribute('href',0)]);
end
else if LowerCase(element.tagName) = 'img' then
begin
Statusbar1.Simpletext := Format('Bild : %s',[element.getAttribute('src',0)]);
end
else
begin
Statusbar1.Simpletext := Format('TAG : %s',[element.tagName]);
end;
end;
Wenn es sich dabei aber um eine Frameseite handelt, erhalte ich immer nur den Tag "Frame".
Ich kann Zwar mit:
htmlDoc.parentWindow.frames.length
und
htmlDoc.parentWindow.frames.item(x).Name;
auf den Namen zugreifen, aber wie erhalte ich vom Unterframe die Mausover events und Elemente?
Frank