AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben
Thema durchsuchen
Ansicht
Themen-Optionen

TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

Ein Thema von hoika · begonnen am 12. Nov 2018 · letzter Beitrag vom 13. Nov 2018
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 12. Nov 2018, 17:48
Hallo,
ja, für eine exaktere Fehlerbeschreibung fehlt oben der Platz

Also, ich haben ein PageControl mit einem TabSheet, einem Panel (alClient) und dann endlich einen TWebBrowser.
Der WebBrowser zeigt eine Seite an mit einem Formularfeld (ja, es ist kein Edit, ich weiss).
auf dem Form ist ein Hilfebutton (TBitBtn mit &Hilfe als Caption).

Drücke ich jetzt im WebBrowser H, wird der HilfeButton aufgerufen.

Das H steht auch nicht im WebBrowser-Edit drin.

Benutze ich die Zwischenablage zur "Eingabe", klappt es.
Packe ich einen TEdit (jetzt wirklich) auf das TabSheet mit drauf, geht es auch.

Form.KeyPreview ist True

Was ist denn hier kaputt?
Heiko

Geändert von hoika (12. Nov 2018 um 17:51 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 12. Nov 2018, 17:57
Ich wünschte ich könnte helfen (habe so etwas mit diesen komischen Unterstreichungen noch nie gemacht), aber zumindest kann ich das nachvollziehen.

Der Stack ist bspw

Code:
Unit21.TForm1.BitBtn1Click($31F11D0)
Vcl.Controls.TControl.Click
Vcl.StdCtrls.TCustomButton.Click
Vcl.Buttons.TBitBtn.Click
Vcl.StdCtrls.TCustomButton.CMDialogChar((1702664, (), 62940, 25, (), 1701332, (), 6177856))
Vcl.Controls.TControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.StdCtrls.TButtonControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TWinControl.Broadcast((kein Wert))
Vcl.Controls.TWinControl.CMDialogChar(???)
Vcl.Controls.TControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TWinControl.Broadcast((kein Wert))
Vcl.Controls.TWinControl.CMDialogChar(???)
Vcl.Controls.TControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Forms.TCustomForm.WndProc((45062, 104, 2293761, 0, 104, 0, (), 1, 35, (), 0, 0, ()))
Vcl.Controls.TControl.Perform(???,???,2293761)
Vcl.Controls.TWinControl.CNChar((48386, (), 104, 0, (), 2293761, (), 1))
Vcl.Controls.TControl.WndProc((48386, 104, 2293761, 1, 104, 0, (), 1, 35, (), 1, 0, ()))
Vcl.Controls.TWinControl.WndProc((48386, 104, 2293761, 1, 104, 0, (), 1, 35, (), 1, 0, ()))
Vcl.OleCtrls.TOleControl.WndProc((48386, 104, 2293761, 1, 104, 0, (), 1, 35, (), 1, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
System.Classes.StdWndProc(3080778,48386,104,2293761)
Vcl.Forms.TApplication.IsKeyMsg(???)
:0052e375 TButtonControl.WndProc + $71
Ich denke mal das Problem ist irgendwo dass der WebBrowser an sich keinen Fokus hat bzw. ihn nicht von den Buttons dort wegnimmt.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 12. Nov 2018, 18:37
Och, das Problem kenne ich schon lange.

Wenn man im TWebBrowser was in ein Formular eingeben will, reagieren (statt die Eingabe ins Formular zu übernehmen) alle eventuell irgendwie im Programm enthaltenen Shortcuts, quasi so, als würde man die ALT-Taste festhalten und dann was eingeben, damit kann man zwar ggfls. ein Programm recht gut steuern, aber keine Eingaben in 'nem Formular im TWebBrowser machen.

Abhilfe?

Keine Ahnung, im Laufe der letzten Jahre keine gefunden

(Die ALT+Taste+Reaktion tritt auch auf, wenn man keine & in den Captions nutzt, dann werden halt ggfls. die von Windows "automatisch gewürfelten" ShortCuts "genutzt".)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 12. Nov 2018, 18:47
Und was ist hiermit?

https://stackoverflow.com/q/2602239/2298252
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 12. Nov 2018, 20:17
Hallo,
das in stackoverflow scheint genau das zu sein.

Ich versuche gerade die 2. Lösung, um den Browser nicht ableiten zu müssen.
Klappt aber leider nicht.

Der Class Name (Internet Explorer_Server) heisst auf jeden Fall auch schon mal wirklich so.
Heiko

Geändert von hoika (13. Nov 2018 um 07:09 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TWebbrowser: Eingabe in "Edit"-Feld wird an TForm weitergegeben

  Alt 13. Nov 2018, 09:55
Hallo,
ich habe jetzt Variante 2 genommen

Delphi-Quellcode:
uses
  Windows, Messages, Controls, StdCtrls, ExtCtrls, SHDocVw;

type
  TWebBrowser2 = class(TWebBrowser)
    procedure CNChar(var Message: TWMChar); message CN_CHAR;
  end;

...

procedure TWebBrowser2.CNChar(var Message: TWMChar);
begin
  Message.Result := 0;
end;
Beim dynamischen Erzeugen auf einem Panel muss man noch etwas rumtricksen

Delphi-Quellcode:
 
WebBrowser:= TWebBrowser2.Create(Panel1);
WebBrowser.Align:= alClient;
TWinControl(WebBrowser).Parent := Panel1; // Parent is Read-Only
Aber ansonsten läuft es wie gewünscht.

Vielen Dank!
Heiko

Geändert von hoika (13. Nov 2018 um 10:03 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz