Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TWebbrowser, klick, bitte um hilfe (https://www.delphipraxis.net/55808-twebbrowser-klick-bitte-um-hilfe.html)

150gozilla 27. Okt 2005 10:35


TWebbrowser, klick, bitte um hilfe
 
So hallo, ich habe ein Problem mit dem TWebbrowser.

Ich habe nen TWebBrowser uff der form. Nun starte ich das Programm (per navigate sringt er mir zu ner newsseite). Nun will aber nicht, das man nen link anklicken kann, also schließe ich daraus das man den linksklick abfangen muss aber wie:

Also hiermit habe ich die scrollbars ausschalten können:
Delphi-Quellcode:
WebBrowser2.OleObject.Document.Body.Style.OverflowX := 'hidden';
WebBrowser2.OleObject.Document.Body.Style.OverflowY := 'hidden';
Könnt ihr mir helfen,danke

Sharky 27. Okt 2005 10:41

Re: TWebbrowser, klick, bitte um hilfe
 
Hai Du,

ich habe mit dem TWebBrowser noch nichts gemacht. Aber es gibt dort meinte ich das Ereigniss Delphi-Referenz durchsuchenOnBeforeNavigate
Mittels diesem müsstest Du das gewünschte doch erledigen können?

150gozilla 27. Okt 2005 10:45

Re: TWebbrowser, klick, bitte um hilfe
 
Zitat:

Zitat von Sharky
Hai Du,

ich habe mit dem TWebBrowser noch nichts gemacht. Aber es gibt dort meinte ich das Ereigniss Delphi-Referenz durchsuchenOnBeforeNavigate
Mittels diesem müsstest Du das gewünschte doch erledigen können?

Ja, denke ich schon, aber ich weiß nicht wie ich den linksklick abfangen soll.

Sollte es in die hose gehen, dann muss ich es über javascript machen^^

Sharky 27. Okt 2005 11:00

Re: TWebbrowser, klick, bitte um hilfe
 
Mal eine 0815 Lösung:
Delphi-Quellcode:
var
  cannavigate : Boolean;

procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  Cancel := not (cannavigate);
end;

procedure TForm1.btn_NavigateClick(Sender: TObject);
const
  url = 'www.delphipraxis.net';
begin
  cannavigate := True;
  WebBrowser1.Navigate(url);
  cannavigate := False;
end;

150gozilla 27. Okt 2005 11:15

Re: TWebbrowser, klick, bitte um hilfe
 
Mhh, leider verursacht deine 0815 Lösung, eine Zugriffsverletzung^^.

edit: sorry war mein fehler, ich hatte noch das wb.navigate('url') drinne.


Jetzt geht deine 0815 Lösung, aber es passiert nichts^^

mhh ich bin am überlegen, wie man das mit dem rechtsklick(unterbinden) machen kann

Sharky 27. Okt 2005 11:21

Re: TWebbrowser, klick, bitte um hilfe
 
Zitat:

Zitat von 150gozilla
...Jetzt geht deine 0815 Lösung, aber es passiert nichts ...

Wird denn überhaupt nichts in deinem TWebBrowser angezeigt? Mit der DP-URL zum Beispiel geht es bei mir. Ich sehe die Startseite kann auch auf einen Link "klicken" aber es wird natürlich nicht weiter navigiert da ich dies ja unterbunden habe.

150gozilla 27. Okt 2005 11:24

Re: TWebbrowser, klick, bitte um hilfe
 
Klar, das geht.

Aber ich wollte nur den REchtklick unterbunden haben^^

150gozilla 27. Okt 2005 11:27

Re: TWebbrowser, klick, bitte um hilfe
 
Soa ich habs:


Delphi-Quellcode:
var
  HookID: THandle;

function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
var
  szClassName: array[0..255] of Char;
const
  ie_name = 'Internet Explorer_Server';
begin
  case nCode < 0 of
    True:
      Result := CallNextHookEx(HookID, nCode, wParam, lParam)
      else
        case wParam of
          WM_RBUTTONDOWN,
          WM_RBUTTONUP:
            begin
              GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName, SizeOf(szClassName));
              if lstrcmp(@szClassName[0], @ie_name[1]) = 0 then
                Result := HC_SKIP
              else
                Result := CallNextHookEx(HookID, nCode, wParam, lParam);
            end
            else
              Result := CallNextHookEx(HookID, nCode, wParam, lParam);
        end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if HookID <> 0 then
    UnHookWindowsHookEx(HookID);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Webbrowser1.Navigate('http://www.google.com');
end;

toms 27. Okt 2005 11:27

Re: TWebbrowser, klick, bitte um hilfe
 
Zitat:

Zitat von 150gozilla
Klar, das geht.

Aber ich wollte nur den REchtklick unterbunden haben^^


Hallo

Schau dir mal mein Hier im Forum suchenMini Webbrowser Demo an. Dort findest du vieles zum Webbrowser implementiert.

Sharky 27. Okt 2005 11:30

Re: TWebbrowser, klick, bitte um hilfe
 
Zitat:

Zitat von 150gozilla
... Aber ich wollte nur den REchtklick unterbunden haben^^

Naja, in deinem eingangsposting hast Du ganz klar vom LINKSklick und dem navigieren gesprochen. Woher soll man den wissen das Du jetzt eine ganz andere Frage hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Seite 1 von 2  1 2      

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