![]() |
TDBGrid und TWebBrowser - Kompatibilitätsproblem
Hallo zusammen,
ich habe folgendes Problem: Ich möchte in einer Datenbank gespeicherte HTML-Texte formatiert anzeigen und nutze dazu den TWebBrowser. Die Auswahl des Datensatzes erfolgt - ganz gewöhnlich - über ein TDBGrid. Dies funktioniert auch soweit einwandfrei, bis man in den TWebBrowser klickt, dieser also den Fokus erhält. Will man jetzt auf einen anderen Datensatz des TDBGrids klicken, passiert gar nichts. Das Grid reagiert überhaupt nicht auf den Klick (es werden auch keine OnEnter/OnMouseDown-Events ausgelöst). Merkwürdigerweise funktioniert der Rechtsklick (Popup) und der TitleClick ohne Probleme. Aber auch danach ist der Klick auf den Datensatz nicht möglich. Die Hoch/Runter-Pfeiltasten bewegen jetzt immer noch die im TWebBrowser angezeigte Seite hoch/runter. Erst, wenn man eine andere Komponenente anklickt (-> Fokus) funktioniert das TDBGrid wieder "normal". Dies habe ich mit folgenden Controls getestet: TButton, TBitBtn, TTreeView, TDBMemo (Ein Klick aufs Formular selbst bringt keine Besserung). Mit einem TStringGrid funktioniert das übrigens... Allerdings stellt des keine wirkliche Alternative dar. Das Thema wurde wohl schon einmal im Oktober 2005 von "hackie3of5" angesprochen. Leider gab es jedoch keine Lösung. Habt ihr eine Idee, wie man dieses Problem lösen kann bzw. woran das liegt? Evtl. gibt es auch eine Alternative zum TWebBrowser, die diesen Bug nicht beinhaltet. Vielen Dank schon mal! Grüsse ...Doc |
Re: TDBGrid und TWebBrowser - Kompatibilitätsproblem
Hallo DocE,
ich konnte dein Problem reproduzieren. Ein einfaches Hinzufügen von folgendem Code brachte die Lösung, ich konnte bis jetzt nicht feststellen, ob das dann wieder andere Auswirkungen hat.
Delphi-Quellcode:
Gruss
:
private { Private-Deklarationen } procedure WndProc(var msg: TMessage); message WM_ACTIVATE; : procedure TForm.WndProc(var msg: TMessage); begin end; Thorsten |
Re: TDBGrid und TWebBrowser - Kompatibilitätsproblem
Hallo Thorsten,
vielen Dank für die Lösung. :thumb: Hat funktioniert! Nachdem dieses Problem also nun gelöst war, habe ich den TWebBrwoser weiter implementiert, wobei mir auffiel, dass dieser doch noch viele weitere Bugs hat. Die Eigenschaft Visible z.B. hat nicht die gewünschte Funktion (TWebBrowser verschwindet nicht bei false). Allerdings lässt sich bei Visible=false die Grösse (Height/Width) nicht mehr ändern. Gut, wenn man das weiß, kann man das einfach umgehen, indem man Visible nie auf false setzt, sondern einfach die Grösse auf 0 setzt bzw. den WebBrowser hinter anderen visuellen Komponenten versteckt. Übergangsweise werde ich wohl mit dem TWebBrowser zurecht kommen, wirklich zufriedenstellend finde ich das allerdings nicht. Falls jemand eine gute Alternative zu dem TWebBrowser hat, um HTML formatiert anzeigen zu können, würde ich mich über eine kurze Info freuen. Danke nochmal! Grüsse ...Doc |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 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