Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Drag and Drop im Webbrowser deaktivieren (https://www.delphipraxis.net/69523-drag-drop-im-webbrowser-deaktivieren.html)

torud 16. Mai 2006 15:09


Drag and Drop im Webbrowser deaktivieren
 
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...!?

torud 22. Mai 2006 15:34

Re: Drag and Drop im Webbrowser deaktivieren
 
Das Problem ist leider noch aktuell und macht unserem Publikum und mir echt zu schaffen...

Hat keiner eine Idee?

torud 23. Mai 2006 15:36

Re: Drag and Drop im Webbrowser deaktivieren
 
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...

shmia 24. Mai 2006 09:18

Re: Drag and Drop im Webbrowser deaktivieren
 
Du könntest im Event OnBeforeNavigate2 prüfen, ob die URL ein GIF oder JPEG ist und eine stille Exception (Abort) werfen.

torud 24. Mai 2006 09:32

Re: Drag and Drop im Webbrowser deaktivieren
 
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.

marabu 24. Mai 2006 09:34

Re: Drag and Drop im Webbrowser deaktivieren
 
Hallo Tom,

wie kann ich dein Problem ohne TouchScreen nachvollziehen?

Grüße vom marabu

shmia 24. Mai 2006 09:38

Re: Drag and Drop im Webbrowser deaktivieren
 
"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;

torud 24. Mai 2006 09:43

Re: Drag and Drop im Webbrowser deaktivieren
 
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...

torud 24. Mai 2006 11:08

Re: Drag and Drop im Webbrowser deaktivieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
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....

marabu 24. Mai 2006 12:48

Re: Drag and Drop im Webbrowser deaktivieren
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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