Hallo Cyberstorm,
ich habe mal folgende Methode umgeschrieben, da ich etwas ähnliches
verwende. Es wird rekursiv solange gesucht, bis das erste Bild auftaucht.
Du kannst Document.Root übergeben, um die gesamte Website abzusuchen.
Falls deine Bilder eine ID haben, kannst du natürlich auch per GetElementByID()
danach suchen.
Delphi-Quellcode:
procedure ReadFirstImg(aIHTMLElement: IHTMLElement;
var aSrc:
string;
var aWidth: integer);
var
ec: IHTMLElementCollection;
ie: IHTMLImgElement;
v: OleVariant;
i: integer;
begin
If not assigned(aIHTMLElement)
then exit;
ec := aIHTMLElement.children
as IHTMLElementCollection;
for i:= 0
to ec.length-1
do
begin
v := 0;
If (Succeeded((
ec.item(v, i)
as IHTMLElement).QueryInterface(IHTMLImgElement, ie)))
then
begin
aWidth:= ie.width;
aSrc:= ie.src;
break;
end else
ReadFirstImg(
ec.item(v, i)
as IHTMLElement, aSrc, aWidth);
end;
end;
Edit:
Achso: Mit der ermittelten Breite kannst du dann ja recht einfach
die Breite der Form anpassen.
Gruß
Jürgen