AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TDBGrid und TWebBrowser - Kompatibilitätsproblem
Thema durchsuchen
Ansicht
Themen-Optionen

TDBGrid und TWebBrowser - Kompatibilitätsproblem

Ein Thema von DocE · begonnen am 9. Aug 2006 · letzter Beitrag vom 10. Aug 2006
Antwort Antwort
DocE

Registriert seit: 25. Mär 2004
108 Beiträge
 
#1

TDBGrid und TWebBrowser - Kompatibilitätsproblem

  Alt 9. Aug 2006, 13:57
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
  Mit Zitat antworten Zitat
omata

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

Re: TDBGrid und TWebBrowser - Kompatibilitätsproblem

  Alt 9. Aug 2006, 14:34
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:
  :
  private
    { Private-Deklarationen }
    procedure WndProc(var msg: TMessage); message WM_ACTIVATE;
  :

procedure TForm.WndProc(var msg: TMessage);
begin
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
DocE

Registriert seit: 25. Mär 2004
108 Beiträge
 
#3

Re: TDBGrid und TWebBrowser - Kompatibilitätsproblem

  Alt 10. Aug 2006, 19:43
Hallo Thorsten,

vielen Dank für die Lösung. 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
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:56 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