AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Drag and Drop im Webbrowser deaktivieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drag and Drop im Webbrowser deaktivieren

Ein Thema von torud · begonnen am 16. Mai 2006 · letzter Beitrag vom 24. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Drag and Drop im Webbrowser deaktivieren

  Alt 16. Mai 2006, 16:09
Hallo Wissende,

ich habe leider das Problem, dass auf meinem Touchscreen, welcher Info-Html-Seiten anzeigt bestimmte Bilder bei einem versehentlichen Drag(gen) auf der gleichen Seite das alleinige Bild angezeigt wird, was zur Folge hat, dass die Seiten, aufgrund fehlender Navigation nicht mehr wechselbar sind.

Ich hoffe ich habe mich nicht zu verrückt ausgedrückt...!?

Ich habe in der Webbrowser-Kompo DragMode auf dmAutomatic gestellt. Leider ohne Erfolg. Wenn nötig poste ich mal die Seite, die es betrifft. Vielleicht ist es auch das Problem, dass dies bei einer XML-Seite mit XSL-Formatierung auftritt...!?
Danke
Tom
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 22. Mai 2006, 16:34
Das Problem ist leider noch aktuell und macht unserem Publikum und mir echt zu schaffen...

Hat keiner eine Idee?
Danke
Tom
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 23. Mai 2006, 16:36
Ist echt vielleicht möglich Drag&Drop für das gesamte Programm und all seine Komponenten zu deaktivieren, um so das Problem zu lösen? Sichtbar ist eh nur die WebBrowser-Komponente...
Danke
Tom
  Mit Zitat antworten Zitat
shmia

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

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 10:18
Du könntest im Event OnBeforeNavigate2 prüfen, ob die URL ein GIF oder JPEG ist und eine stille Exception (Abort) werfen.
Andreas
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 10:32
Hallo Shmia,

leider brachte das nix. Hier mal meine Routine:

Delphi-Quellcode:
procedure TForm1.web_cisBeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  ShowMessage(url+chr(13)+targetframename);
  if (ExtractFileExt(url)='.jpg') or (ExtractFileExt(url)='.gif') then
    Exit;
  StatusBar1.Panels[0].Text:=ExtractFileName(url);
  StatusBar1.Panels[2].Text:=PostData;
  if pDisp = web_cis.DefaultInterface then
     LockWindowUpdate(Handle);

end;
Das Komische ist, dass das Problem nicht bei allen Bildern auftritt. Schwerpunktmässig bei XML-Seiten, die durch XSL formatiert wurden...Das Drag&Drop-Problem tritt im übrigen nicht nur bei Bildern auf, sondern auch bei Links...

Das Problem scheint auch zu sein, dass dieses Ereignis überhaupt nicht ausgelöst wird, denn meine Showmessage ganz oben wurde mir nur angezeigt, wenn ich "normal" navigiert habe. Wenn ich aber einen Link oder Bild (es funktioniert wirklich nicht bei allen) gezogen und fallen gelassen habe, dann kam die Messagebox nicht und der Webbrowser verhielt sich so, als ob er von aussen etwas übergeben bekommen hat und zeigt dies dann auch als TOP an.
Danke
Tom
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 10:34
Hallo Tom,

wie kann ich dein Problem ohne TouchScreen nachvollziehen?

Grüße vom marabu
  Mit Zitat antworten Zitat
shmia

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

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 10:38
"Canceln" nicht vergessen!!
Delphi-Quellcode:
procedure TForm1.web_cisBeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var
   urlext : string;
begin
  urlext := LowerCase(ExtractFileExt(url));
  if (urlext='.jpg') or (urlext='.gif') then
  begin
     Cancel := True; // <== Good bye baby
     Exit;
  end;
  StatusBar1.Panels[0].Text:=ExtractFileName(url);
  StatusBar1.Panels[2].Text:=PostData;
  if pDisp = web_cis.DefaultInterface then
     LockWindowUpdate(Handle);
end;
Andreas
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 10:43
Ganz einfach, ich Poste mal was mit Anhang...zum Nachvollziehen..
.gebt mir bitte mal 20 Minuten...

Danke Shmia...wie gesagt auch das geht nicht, weil der IE sich wohl in diesem Falle anders verhällt ich sende in 20 Min. was gezpptes mit Infos, wie man es Reproduzieren kann...
Danke
Tom
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 12:08
Im Anhang findet Ihr eine Zip-Datei. Diese einfach entpacken und die Datei livescore.html im InternetExplorer starten, da ja die TWebBrowser darauf aufbaut.

Es wird eine Seite mit 2 Frames angezeigt. Links ist ein NavyMenü mit einem Link. Klickt man diesen an, wird im rechten Frame die dazugehörige Seite angezeigt.

Klickt man aber diesen Link an und zieht ihn innerhalb des Frames ein Stück nach unten, wird die rechts zu ladende Datei OnTop geladen. Ein zurück gibts dann nicht mehr (zumindest auf dem Touch). Mit der Tastatur reicht ein Markieren des Fensters und ein Backspace.

Das gleiche Problem tritt auf, wenn man mal auf der Seite mit den Ergebnissen eine der Flaggen anklickt und etwas mit der Maus zieht oder nur den AufschlagsBall etwas zieht.

Das ganze ist so graierend, dass GetFrameDoc und GetDeepFrameDoc natürlich "abschmieren". Auch kann ich per UDP nichts mehr an diesen Rechner senden, weil der die Ganze Zeit versucht in einem verschachtelten Frameset, welches nach diesem Vorgang nicht mehr da ist, etwas zu aktualisieren...

Wäre also schön, wenn jemand von Euch einen Vorschlag hätte, wie man das händeln kann....
Angehängte Dateien
Dateityp: zip temper_298.zip (586,1 KB, 6x aufgerufen)
Danke
Tom
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Drag and Drop im Webbrowser deaktivieren

  Alt 24. Mai 2006, 13:48
Hallo Tom,

hier ein Zwischenstand: das Verhalten scheint durch die clientseitige Transformation im IE ausgelöst zu werden. In deinem vorherigen Ansatz über Templates existiert es nicht und auch der Firefox ist immun.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:36 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