Announcement

Collapse
No announcement yet.

TWebBrowser und SetFocus...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TWebBrowser und SetFocus...

    Hallo,
    ich habe ein Programm geschrieben, automatisch ein Formular im Netz
    ausfüllt. Dazu hab ich mir die TWebBrowser-komponente genommen, mit dieser
    rufe ich das Formular auf und trage die Daten ein.<br>
    Danach wird auf einen Button (auf der im Browser angezeigten Homepage)
    geklickt und der Eingabe-Focus wandert zu einem Eingabe-Feld auf dieser
    Website, er soll aber zurück auf ein Eingabe-Feld meines Programmes gesetzt
    werden. Leider scheint das nicht zu funktionieren. Ich hab sogar schon einen Timer eingebaut, der nur den Focus mit Edit1.SetFocus wieder zurückholen sollte, klappt aber nicht.<br>
    Auch, wenn ich das bei WebBrowser1Exit reinschreibe, funktioniert's nicht.<br>
    Wie bekomme ich denn nun den Focus vom Browser zurück in das Eingabe-Feld
    meiner Anwendung?<br>
    Ich benutze Delphi 5, falls das wichtig sein sollte.<br>
    Danke schonmal!<br>
    Tschüss!<br>
    Rene<br>

  • #2
    hi,

    ich habe dein problem nicht ganz begriffen.<br>
    du willst mit einem delphi-programm ein formular auf einer website<br>
    automatisch ausfüllen,richtig?

    gruß

    marku
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

    Comment


    • #3
      Ja, genau.<br>
      Hab ein Formular mit einen Button, einem TEdit und einen TWebBrowser.<br>
      Bei start des Programmes geht der WebBrowser automatisch zu einer Site mit einem Formular zum ausfüllen.<br>
      Klick ich den Button meines Programmes, füllt sich das Formular, welches im WebBrowser angezeigt wird, automatisch aus und es wird auf einen Button geklickt, der im WebBrowser angezeigt wird (der Submit-Button des Formulars).<br>
      Danach wandert der Eingabe-Focus über eine JavaScript-Funktion zu einem Eingabe-Feld im WebBrowser. Ich will aber, dass der Focus zum TEdit meines Programmes zurückkehrt und das schaffe ich mit Edit1.SetFocus nicht. Ich will jetzt wissen, ob das überhaupt möglich ist, den Focus vom WebBrowser wieder zurück in mein Programm zu holen

      Comment


      • #4
        hi,

        ich bin noch immer leicht verwirrt warum du da mit tbrowser rum<br> handierst! mein markus würde das ganz normale webbrowserfenster<br>
        nehmen. du findest das handle des fenster raus und schickst botschaften! was hälst du davon?<br>

        gruß

        markus

        p.s. auf meiner hp im programmierarchiv: http://www.marlem-software.de/taskliste.html findest du wie man eine taskliste erstellt um dann das fenster zu wählen das du ausfüllen willst
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Nein, diese Methode ist zu unsicher. Die Website mit diesem Formular enthällt Framesets. Mit den Botschaften meinst du sicher Tastenschläge. Ich weiß ja nicht, wo sich der Eingabe-Focus befindet, es kann ja sein, dass dieser sich auf dem Submit-Button befindet oder so, wenn ich dann eine Zeichenfolge hinschicke, passiert nichts.<br>
          Ich will die Eingabefelder direkt ansprechen. Bis dahin klappts ja auch, nur den Eingabe-Focus bekomme ich nicht zurück. Ich meine, das kann doch nicht so schwer sein... oder

          Comment


          • #6
            hi rene!!

            ich habe mehrere programme die text an fremde fenster schicken (bildschirmtastatur und tippse) und das tut <b>sehr</b> zuverlässig!!
            ich werde wahrscheinlich auch noch irgendwann so ein ähnliches programm programmieren, weil ich meine software auf freewareseiten anmelde und ich es leid bin, die ganzen formulare von hand auszufüllen

            gruß

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Naja, wie gesagt, is mir zu unsicher, trotzdem danke für deine Hilfe.<br>
              ich bin gerade richtig happy weil hab das Problem gerade gelöst.<br>
              Falls es jemanden interessiert:<br>
              Erst mit SetForeGroundWindow(Application.Handle) die eigene Anwendung (nicht den Explorer ) holen und dann Edit1.SetFocus den Rest erledigen lassen .<br>
              Okay, schönen Tag noch..

              Comment


              • #8
                *lach* also wenn du eh mit der api(SetForeGroundWindow, kenne ich übrigens) rum hantierst, dann kannst auch gleich ganze sachen machen aber wenn es jetzt tut!!!!

                gute nacht!!!

                gruß

                marku
                Herzliche Grüße

                Markus Lemcke
                barrierefreies Webdesign

                Comment


                • #9
                  Noch eine kurze Frage, was meinst du mit ganzen Sachen?<br>
                  Ich mache nur ungern halbe Sachen... :

                  Comment


                  • #10
                    hi,

                    wie gesagt, würde es gleich an das richtige browser fenster schicken! nichts mit tbrowser!! das tut 100%ig!! mein programm tippse habe ich im chat getestet und das funktioniert!!!

                    gruß

                    marku
                    Herzliche Grüße

                    Markus Lemcke
                    barrierefreies Webdesign

                    Comment

                    Working...
                    X