procedure TForm1.click_pic(s_pic:
string);
var
iDoc: IHtmlDocument2;
i: integer;
ov: OleVariant;
iDisp: IDispatch;
iColl: IHTMLElementCollection;
InputImage: HTMLInputImage;
r: TRect;
tp:TPoint;
Element: IHTMLElement;
begin
Wb.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
if not Assigned(iDoc)
then
begin
Exit;
end;
ov := '
INPUT';
iDisp := iDoc.all.tags(ov);
if Assigned(IDisp)
then
begin
IDisp.QueryInterface(IHTMLElementCollection, iColl);
if Assigned(iColl)
then
begin
i:=iColl.Get_length;
for i := 1
to iColl.Get_length
do //iColl.Get_length=0 worduch es nicht weiter geht
begin
iDisp := iColl.item(pred(i), 0);
iDisp.QueryInterface(HTMLInputImage, InputImage);
if Assigned(InputImage)
then
begin
if pos(s_pic,InputImage.
Name)<>0
then
// if the name is submit / falls der name submit lautet
begin
inputimage.focus;
//InputImage.click; // click it / klick es
r.Left := Inputimage.offsetLeft;
r.Top := Inputimage.offsetTop;
element:=inputimage.offsetparent;
repeat
if Element <>
nil then
begin
if (Element.tagName = '
TD')
// if parent a table cell,
then
begin
r.Left := r.Left + (Element
as IHTMLElement2).ClientLeft;
// append cell border width to calcs
r.Top := r.Top + (Element
as IHTMLElement2).clientTop;
end;
r.Left := r.Left + Element.offsetLeft;
r.Top := r.Top + Element.offsetTop;
// <----- hier geht er Heim steht auch im tagNamen nichts gescheites drin
end;
Element := Element.offsetParent;
until Element =
nil;
tp.x:=r.Left+10;
tp.y:=r.Top+10;
wb.clienttoscreen(
tp);
windows.setcursorpos(
tp.x,
tp.y);
....