AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi AcroPdf rechtsklick verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

AcroPdf rechtsklick verhindern

Ein Thema von froschprinz · begonnen am 23. Okt 2011 · letzter Beitrag vom 30. Okt 2011
Antwort Antwort
Seite 1 von 3  1 23      
froschprinz

Registriert seit: 24. Dez 2010
Ort: Graben, Bayern
34 Beiträge
 
Delphi 7 Architect
 
#1

AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 10:50
Hallo zusammen,

ich habe ein Problem. Ich habe ein Form mit der ActiveX Komponente AcroPDF. Da der Benutzer nichts machen soll auser lesen und scrollen habe ich alle Leisten erfolgreich ausgeblendet. Nur den Rechtsklick kann ich nicht verhindern.
Ich habe es bisher mit ApplicationEvents versucht:

Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONDBLCLK) then
   begin
     beep;
     Handled :=IsChild(AcroPDF1.Handle, Msg.hwnd);
   end;
end;
Aber es funktioniert so nicht - des Beep wird nicht bei einem Rechtsklick ausgeführt.

Habt ihr da 'ne Idee????
Ulli

Geändert von mkinzler (25. Okt 2011 um 16:57 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 11:17
eigentlich handelt es sich um eine fremde Anwendung, die bei Dir gedockt dargestellt wird.
Es ist die Frage ob Du an das "Windowproc" der darstellenden Komponente herankommst, oder ob Du Dich relativ in die MouseEvents hooken musst. Hier bin ich aber absolut nicht firm.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
froschprinz

Registriert seit: 24. Dez 2010
Ort: Graben, Bayern
34 Beiträge
 
Delphi 7 Architect
 
#3

AW: AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 19:43
Ich denke auch, dass es über einen Moushook gehen könnte. Aber da verstehe ich leider auch nix davon.
Hat jemand den Quellcode für eine Hook dll, die einen Rechtsklick der Mouse verhindert (nicht weiterleitet)?
Ulli
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 20:53
Wie wäre es, wenn du einfach eine transparente Komponente über das PDF-Dingens legst, alles Mausereignisse abfängst und nur die Gewollten an das PDF-Teil weiterleitest?

Man könnte auch das PDF auf ein Bitmap zeichnen lassen und zeigt Dieses dann an.
$2B or not $2B
  Mit Zitat antworten Zitat
froschprinz

Registriert seit: 24. Dez 2010
Ort: Graben, Bayern
34 Beiträge
 
Delphi 7 Architect
 
#5

AW: AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 21:09
Über ein AcroPDF kann mann leider nichts legen - Images und Co treten immer dahinter zurück.

Wie mann eine PDF auf ein Bitmap legt, weis ich nicht. Dann funktioniert das scrollen aber auch nicht mehr.
Ulli
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: AcroPdf rechtsklick verhindern

  Alt 23. Okt 2011, 21:59
Man könnte auch das PDF auf ein Bitmap zeichnen lassen und zeigt Dieses dann an.
Wie geht das konkret? Geht das mit der AcroPDF-Komponente? Oder meinst du das mit Ghostscript umrendern?

Wäre toll, wenn du das nochmal genauer erklären könntest.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: AcroPdf rechtsklick verhindern

  Alt 24. Okt 2011, 07:44
Also Quelltext für Mousehooks findest Du über Googel zuhauf. Könnte aber sein, das Du einen globalen Mousehook benötigst. Und der geht nur mit einer DLL.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: AcroPdf rechtsklick verhindern

  Alt 24. Okt 2011, 10:04
Wieso denn global? Er braucht es doch nur für seine Anwendung oder?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: AcroPdf rechtsklick verhindern

  Alt 24. Okt 2011, 10:35
Wieso denn global? Er braucht es doch nur für seine Anwendung oder?
(Nur) Für den PDF-Reader.

Wie schon erwähnt, ist das eine externe Anwendung (man schaue gerne mal in den Taskmanager) welche ihre Form "nur" bei seiner Anwendung eingebettet hat.
Die ganze Messagebehandlung dieser Form verbleibt aber dennoch in der anderen Anwendung.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: AcroPdf rechtsklick verhindern

  Alt 24. Okt 2011, 10:46
Wie schon erwähnt, ist das eine externe Anwendung (man schaue gerne mal in den Taskmanager) welche ihre Form "nur" bei seiner Anwendung eingebettet hat.
Dieser blödsinn ist glücklicherweise Geschichte. Ab V9/V10 wird keine externe App mit Fenstereinbeddung gestartet sondern das ActiveX mit der Programmlogik ist komplett eingebettet.

Sieht man auch daran:

AcroRd32.dll 24 MB
AcroRd32.exe 1,5 MB

Jetzt reicht es bei einem Amoklaufenden Acrobat nur noch die Exe abzuschießen und nicht noch nach Arcobat-Exe's im Taskmanager zu suchen
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

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 19:45 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