Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi die rechte Maustaste sperren aber nur in Bereich Webbrowser? (https://www.delphipraxis.net/98402-die-rechte-maustaste-sperren-aber-nur-bereich-webbrowser.html)

taktaky 26. Aug 2007 22:18


die rechte Maustaste sperren aber nur in Bereich Webbrowser?
 
Hallo

mit dieser Funktionien wird die Maustaste gesperrt:
http://www.swissdelphicenter.ch/de/showcode.php?id=571

wie kann ich die rechte Maustaste sperren aber nur in Bereich Webbrowser?

Der Code oben finde ich zulang. Gibt es keine andere Lösung, wo der Code kurzer ist?

Gruß

Luckie 26. Aug 2007 23:11

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
26 Zeilen sind dir zu lang? Ja da wird der Autor wohl extra eine umstädliche Methode implementiert haben, um den Code extra lang zu machen. :wall:

taktaky 26. Aug 2007 23:39

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
hallo

ok, dann nehme ich ihn und vertig
aber wenn Maustaste-Sperren aus 26 Zeilen besteht, dann wie lang kann mein Programm lang sein :gruebel:

Gruß

KarYn-To 27. Aug 2007 00:18

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
Falls dir das zu lang ist und das so wie bei Avira nur zum hinschauen ist, also nichts zum klicken, dann kannste auch...

Delphi-Quellcode:
  WebBrowser1.Enabled := False;
...nehmen. Ich hab das ganze bei meinem alten Installer verwendet, Werbung anzeigen, aber nicht klicken können. Die Seiten waren dann natürlich der Werbunggröße angepasst und ich denke es ist die unschönste Variante.

MfG Angelo

alzaimar 27. Aug 2007 08:27

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
Zitat:

Zitat von Luckie
26 Zeilen sind dir zu lang? Ja da wird der Autor wohl extra eine umstädliche Methode implementiert haben, um den Code extra lang zu machen. :wall:

Hat er auch :stupid:
So isses kürzer.

Delphi-Quellcode:
Function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
Var
  szClassName: Array[0..255] Of Char;
Const
  ie_name = 'Internet Explorer_Server';
Begin
  If (nCode >= 0) And ((wParam = WM_RBUTTONDOWN) Or (wParam = WM_RBUTTONUP)) Then Begin
    GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName, SizeOf(szClassName));
    If lstrcmp(@szClassName[0], @ie_name[1]) = 0 Then Begin
      Result := HC_SKIP;
      Exit;
    End;
  End;
  Result := CallNextHookEx(HookID, nCode, wParam, lParam)
End;
So ist es -finde ich- auch besser, da die Alternative (nächsten Hook aufrufen) nur 1x im Code vorkommt, und nicht 3x, wie in der SDC-Variante.
Etwas übersichtlicher wäre es so (allerdings mit einer ganzen Zeile mehr (!!) Code):
Delphi-Quellcode:
Begin
  If (nCode >= 0) Then
    If (wParam = WM_RBUTTONDOWN) Or (wParam = WM_RBUTTONUP) Then Begin
....

marabu 27. Aug 2007 09:30

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
Hallo,

der vorgesehene Weg ist die Implementierung der Schnittstelle IDocHostUIHandler, wodurch dann die Methode ShowContextMenu() zur Verfügung steht - darin kann man die Anzeige eines Kontextmenüs unter beliebigen Bedingungen abbrechen. Wer die Schnittstelle nicht selbst implementieren möchte, der kann sich den EmbeddedWebBrowser installieren, eine Komponente, die fast alle Erweiterungsmöglichkeiten des WebBrowser Controls komfortabel zur Verfügung stellt.

Grüße vom marabu

taktaky 27. Aug 2007 10:57

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
Hallo Alzaimar

wo soll der Teil 2 hin?
Delphi-Quellcode:
Begin
  If (nCode >= 0) Then
    If (wParam = WM_RBUTTONDOWN) Or (wParam = WM_RBUTTONUP) Then Begin
....
-----------

Hallo marabu

ich wollte die Komponenten downloaden, leider geht nicht!
Embedded Web Browser Components Package

Ist sie kostenlos?

Gruß

marabu 28. Aug 2007 12:17

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow
 
Liest du ab und zu deine PN's?

Besser ist das!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz