Entwickler-Ecke

Internet / Netzwerk - TWebBrowser: backslash, Filetasten benutzen


Petros - Fr 15.04.11 14:05
Titel: TWebBrowser: backslash, Filetasten benutzen
HI ich habe ein Problem und finde schon seit ein paar tagen keine Lösung dazu..

Folgenes:

ich Rufe per Twebbrowser ein einen Flash chat von mir auf und so funktioniert alles super jetzt kommt mein Problem wie kann ich im Twebbrowser die Backslash und Pfiletasten nun Freigeben

sprich: ich schreibe was im chat und hab nen tippfehler drin und will per Backslash löschen..

jetzt kommt mein Problem die Backslah und Pfile tasten funktionieren nicht im Twebbrowser das Problem besteht aber bei jeden WebDokoment wo mann was eintragen kann

ich hoffe ich konnte mein Problem erstmal soweit gut schildern

MFG Petros


Petros - So 17.04.11 13:40

hat keiner ne lösung dafür


jaenicke - So 17.04.11 13:50

Nein, ich habe keine Lösung. Ich habe aber auch das Problem nicht. Du musst da irgendetwas machen, was das verursacht. Bei mir funktioniert im TWebBrowser alles normal. :nixweiss:


Petros - So 17.04.11 14:26

ich habe Delphi jetzt mehr mals neu installiert und das selbe auch bei mir aufm leppi und immere das selbe problem

ich habe dazu mal ne demo hochgeladen exe+source habe auch nen demo chat installiert damit ihr es mal selbst testen könnt

in dem chat könnt ihr euch als gäste einloggen..


Tilman - So 17.04.11 15:19

Scheint ein Flashproblem zu sein, denn es ließ sich mit der Seite http://www.hotflashgames.com/tenpinalley.htm reproduzieren.

Vermutlich noch nicht ausgiebig genug getestet, aber das schien gerade bei mir zu funktionieren: (Den Code hab ich weitesgehend mit kleinen Änderungen (VK_BACK) hier entnommen [http://www.delphipages.com/forum/archive/index.php/t-197180.html])

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:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
unit Unit1;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw,ComCtrls, ActiveX, AppEvnts;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    pnl1: TPanel;
    btn1: TButton;
    ApplicationEvents1: TApplicationEvents;
    procedure btn1Click(Sender: TObject);
    procedure ApplicationEvents1Message(var Msg: tagMSG;
    var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
      end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('http://demochat.dc10-soft.de/flashchat.php');
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
  const
    StdKeys = [VK_TAB, VK_RETURN,VK_BACK]; { standard keys }
    ExtKeys = [VK_DELETE, VK_BACK, VK_LEFT, VK_RIGHT]; { extended keys }
    fExtended = $01000000{ extended key flag }

begin
  if IsChild(WebBrowser1.Handle, Msg.Hwnd) then
  begin
    if (Msg.Message = WM_CLOSE) then
      msg.Message := 0
    else
    if ((Msg.Message >= WM_KEYFIRST) and (Msg.Message <= WM_KEYLAST)) and
      ((Msg.wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0or
      (Msg.wParam in ExtKeys) and ((Msg.lParam and fExtended) = fExtended)) then
        begin
          Handled := (WebBrowser1.Application as IOleInPlaceActiveObject).TranslateAccelerator(Msg) = S_OK;
          if not Handled then
          begin
            Handled := True;
            TranslateMessage(Msg);
            DispatchMessage(Msg);
          end// if not
        end//if (msg... then
  end;  // if IsChild
end// procedure


Petros - So 17.04.11 15:28

Tilman vielen vielen dank haut hin habe es jetzt auf mehrern chats versucht oder flashseiten funktioniert..


MFG Petros