Einzelnen Beitrag anzeigen

Henning der zweite

Registriert seit: 10. Mär 2008
Ort: Braunschweig
21 Beiträge
 
Delphi 5 Standard
 
#6

Re: TWebBrowser Fokus abgeben

  Alt 11. Mai 2008, 18:46
Vielen Dank, dass Du Dich mit meinem Prolem so beschäftigst!
Ich musste den Code etwas ändern, damit ich ihn unter D5 kompilieren konnte.
Das Problem ist immer noch da: Sobald ich etwas mit dem Edit "sende"
und dann etwas aus dem Webbrowser herauskopiere, und dann wieder mit dem Edit was sende, schluckt das ActivX-Control
sofort den Fokus.

Mein abgeänderter Code:
Delphi-Quellcode:
uses
 ActiveX; //MSHTML konnte er nicht finden

// Anfangs Zu einer leeren Seite navigieren

procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('about:blank');
  Lines:=TStringList.Create();
end;

// Zeilen HTML Code hinzufügen
procedure AddHTMLToWebbrowser(AWebBrowser: TWebBrowser; AHTMLCode: TStrings);
var
  myDocument:OleVariant;
begin
  if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank');
  myDocument:=AWebBrowser.Document;
  myDocument.Write(AHTMLCode.Text);
  myDocument.Close;
end;

 

// OnKeyPress im Edit
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
   Key := #0;
   Lines.add(Edit1.text + #10);
   AddHTMLToWebbrowser(Webbrowser1,Lines);
end;
end;

initialization
  OleInitialize(nil);
finalization
  OleUninitialize;
Also nochmal: der Fehler kommt zustande, wenn man
1. Etwas mit dem Edit sendet, indem man das Edit fokussiert, Text eingibt, und dann Enter drückt
2. Dann Text aus dem Webbrowser markiert bzw. herauskopiert
3. Dann mit der Maus den Fokus auf das Edit setzt, indem man es anklickt
4. Dann wieder etwas sendet (schwupp di wupp: der Fokus wurde dem Edit entzogen)
5. Dann wieder etwas sendet (Kann man nicht, ohne das man das Edit wieder selektiert...)

Hoffe ich habe das Problem jetzt etwas genauer geschildert
Henning D.
  Mit Zitat antworten Zitat