AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Postmessage Befehl an WebBrowser-Komponente?
Thema durchsuchen
Ansicht
Themen-Optionen

Postmessage Befehl an WebBrowser-Komponente?

Ein Thema von Esolit · begonnen am 27. Jun 2005 · letzter Beitrag vom 28. Jun 2005
Antwort Antwort
Esolit

Registriert seit: 27. Jun 2005
5 Beiträge
 
#1

Postmessage Befehl an WebBrowser-Komponente?

  Alt 27. Jun 2005, 16:21
Hi,

was ist an folgendem Quelltext falsch? Ich lege erst den Fokus meinen Programmes auf das Dokument im WebBrowser und versuche dann einen Tastenbefehl (im Beispiel Tabulator-Taste) an diese zu schicken. Nur irgendwie wird das jedes mal so interpretiert als wenn der Befehl an die Form geschickt worden wäre. Stimmt vielleicht der Klassenname des WebBrowsers nicht?

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
wnd : HWND;
begin
wnd := FindWindow('TForm1',nil);
if wnd <> 0 then
begin
wnd := FindWindowEx(wnd,0,'TWebBrowser1',nil);
(Webbrowser1.Document as IHTMLDocument2).ParentWindow.Focus;
 PostMessage(wnd, WM_KEYDOWN , VK_Tab, 0);
end else showmessage('Not Found');
end;
Beste Grüße
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Postmessage Befehl an WebBrowser-Komponente?

  Alt 27. Jun 2005, 23:35
Hallo,

Probier's mal so:

Delphi-Quellcode:
var
  wnd :HWND;
begin
  wnd := FindWindowEx(WebBrowser1.Handle,0,'Shell DocObject View',nil);
  wnd := FindWindowEx(wnd ,0,'Internet Explorer_Server',nil);
  if wnd <> 0 then
  begin
   // *** (Webbrowser1.Document as IHTMLDocument2).ParentWindow.Focus; *** // ist wahrscheinlich nicht notwendig
     PostMessage(wnd, WM_KEYDOWN , VK_Tab, 0);
  end;
end;
Thomas
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Postmessage Befehl an WebBrowser-Komponente?

  Alt 28. Jun 2005, 13:11
NachPostMessage(wnd, WM_KEYDOWN , VK_Tab, 0); muss auch
PostMessage(wnd, WM_KEYUP , VK_Tab, 0); folgen.
Andreas
  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 01:44 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