Manfred Polak
2017-10-01 22:44:26 UTC
Moin!
Mein neulich hier erwähntes Datenbankprojekt mit Nachschlagewerken
nimmt konkrete Formen an. Dabei tritt jetzt folgendes Problem auf. In
einem DBGrid steht eine Liste mit Titeln von Artikeln, die in Gestalt
von Rich Text in der Datenbank liegen. Bei Doppelklick auf einen Titel
geht ein neues Formular mit einem RichEdit auf, und der betreffende
Artikel wird darin angezeigt. Aber dabei funktioniert Word Wrap nicht
richtig.
Hier mal zwei Screenshots. Wenn für das RichEdit die Eigenschaft
WordWrap deaktiviert ist, sieht das so aus:
Loading Image...
Und mit Word Wrap so:
Loading Image...
Und das ist Murks. Es ist nicht so, dass es überhaupt kein Word Wrap
gibt, denn dann würden die beiden Bilder ja gleich sein. Aber der
Umbruch erfolgt nicht am tatsächlichen Fensterrand, sondern viel
weiter rechts. Und je mehr ich das Fenster in die Breite ziehe, desto
kleiner wird der verschluckte Anteil. Wenn ich das Fenster maximiere,
dann sehe ich auch den ganzen Text. Aber das ist natürlich Sch... zum
Lesen.
Was ist da los? Liegt das am Rich Text, an den Properties des RichEdit
oder an der Art, wie ich es befülle? Letzteres mache ich so:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var EssayNr, Essay: string;
begin
EssayNr := DBGrid1.SelectedField.DataSet.FieldByName('EssayNr').AsString;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('select EssayText from Essay where EssayNr = ' + EssayNr);
DataModule2.ADOQuery1.Open;
while not DataModule2.AdoQuery1.eof do
begin
Essay := DataModule2.AdoQuery1.FieldByname('EssayText').AsString;
DataModule2.AdoQuery1.Next;
end;
Form3.Caption := 'Kindlers Literaturlexikon ' +
DBGrid1.SelectedField.DataSet.FieldByName('EssayTitel').AsString;
Form3.Show;
Form3.RichEdit1.Text := Essay;
end;
Merkwürdig ist auch, dass es bei längeren Texten keine vertikale
Scrollbar gibt, obwohl ich das aktiviert habe. Aber wenigstens kann
ich mit dem Mausrad scrollen, so dass das kein echtes Problem ist.
Falls es eine Rolle spielt, geschrieben und kompiliert wurde das mit
Turbo Delphi von 2006. In der aktuellen Starter Edition fehlen ja die
Datenbankkomponenten.
Manfred
Mein neulich hier erwähntes Datenbankprojekt mit Nachschlagewerken
nimmt konkrete Formen an. Dabei tritt jetzt folgendes Problem auf. In
einem DBGrid steht eine Liste mit Titeln von Artikeln, die in Gestalt
von Rich Text in der Datenbank liegen. Bei Doppelklick auf einen Titel
geht ein neues Formular mit einem RichEdit auf, und der betreffende
Artikel wird darin angezeigt. Aber dabei funktioniert Word Wrap nicht
richtig.
Hier mal zwei Screenshots. Wenn für das RichEdit die Eigenschaft
WordWrap deaktiviert ist, sieht das so aus:
Loading Image...
Und mit Word Wrap so:
Loading Image...
Und das ist Murks. Es ist nicht so, dass es überhaupt kein Word Wrap
gibt, denn dann würden die beiden Bilder ja gleich sein. Aber der
Umbruch erfolgt nicht am tatsächlichen Fensterrand, sondern viel
weiter rechts. Und je mehr ich das Fenster in die Breite ziehe, desto
kleiner wird der verschluckte Anteil. Wenn ich das Fenster maximiere,
dann sehe ich auch den ganzen Text. Aber das ist natürlich Sch... zum
Lesen.
Was ist da los? Liegt das am Rich Text, an den Properties des RichEdit
oder an der Art, wie ich es befülle? Letzteres mache ich so:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var EssayNr, Essay: string;
begin
EssayNr := DBGrid1.SelectedField.DataSet.FieldByName('EssayNr').AsString;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('select EssayText from Essay where EssayNr = ' + EssayNr);
DataModule2.ADOQuery1.Open;
while not DataModule2.AdoQuery1.eof do
begin
Essay := DataModule2.AdoQuery1.FieldByname('EssayText').AsString;
DataModule2.AdoQuery1.Next;
end;
Form3.Caption := 'Kindlers Literaturlexikon ' +
DBGrid1.SelectedField.DataSet.FieldByName('EssayTitel').AsString;
Form3.Show;
Form3.RichEdit1.Text := Essay;
end;
Merkwürdig ist auch, dass es bei längeren Texten keine vertikale
Scrollbar gibt, obwohl ich das aktiviert habe. Aber wenigstens kann
ich mit dem Mausrad scrollen, so dass das kein echtes Problem ist.
Falls es eine Rolle spielt, geschrieben und kompiliert wurde das mit
Turbo Delphi von 2006. In der aktuellen Starter Edition fehlen ja die
Datenbankkomponenten.
Manfred