Autor Beitrag
juelin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40

Win XP, Linux
D7 K3
BeitragVerfasst: Do 12.03.09 21:42 
Hallo,
ich möchte in einer Internetseite, die ich in den WebBrowser geladen habe
einen Bottom per Programm betätigen. HTML-Code

<input type="image" src="/observer/icons/go.gif" border=0 name="Go" value="Go!" align="absbottom" alt="" title="Klicken Sie hier zum Starten der Berechnung!" >

Nun meine Frage:
a) wie kann ich alle Image-Bottons auslesen?
b) wie kann ich den Image-Bottom betätigen?

Der Image-Bottom wird nicht in den
WebBrowser1.OleObject.Document.Forms.Item angezeigt.

Ich benutze Delphi 7

Danke und Gruss
Jürgen


Moderiert von user profile iconNarses: Topic aus Programmierwerkzeuge verschoben am Do 12.03.2009 um 20:47
Bob Murphy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 91

XP, Ubuntu
Delphi 7 SE, Delphi 2007
BeitragVerfasst: Fr 13.03.09 01:48 
Versuchs mal damit:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
procedure WB_ClickImage(WB: TWebbrowser; ImageSRC: string);
var
  iDoc: IHtmlDocument2;
  i: Integer;
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  InputImage: HTMLInputImage;
begin
  if Assigned(WB.Document) then
  begin
    WB.Document.QueryInterface(IHTMLDocument2, iDoc);
    if Assigned(iDoc) then
    begin
      iDisp := iDoc.all.tags('INPUT');
      if Assigned(iDisp) then
      begin
        iDisp.QueryInterface(IHTMLElementCollection, iColl);
        if Assigned(iColl) then
        begin
          ImageSRC := AnsiUpperCase(ImageSRC);
          for i := 1 to iColl.Get_length do
          begin
            iDisp := iColl.item(Pred(i), 0);
            iDisp.QueryInterface(HTMLInputImage, InputImage);
            if Assigned(InputImage) then
            begin
              if Pos(ImageSRC, AnsiUpperCase(InputImage.src)) <> 0 then
              begin
                InputImage.Click;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
end;


Aurufen kannste das so:

ausblenden Delphi-Quelltext
1:
WB_ClickImage(Webbrowser1, 'go.gif');