![]() |
Delphi-Version: 2010
RxRichEdit und InserControl
Hallo zusammen,
ich füge mit folgendem Code ein Bild in ein RxRichEdit ein:
Delphi-Quellcode:
Leider "verschwindet" dadurch jeglicher Text im RichEdit. Ich sehe nur noch den Cursor, aber keine Zeichen mehr. Lasse ich die Prozedur weg, ist alles bestens.
//die Grafik als Control einfügen
HIMG := TImage.Create(nil); with HIMG do begin Stretch := False; Proportional := True; width := 113; Height := 113; Left := RxRichEdit1.Left; Top := RXRichEdit1.Top; Picture.LoadFromFile(InstPath + 'anlagelogo.bmp'); end; RXRichEdit1.InsertControl(HIMG); Weiß jemand Rat? Steffen |
AW: RxRichEdit und InserControl
|
AW: RxRichEdit und InserControl
Diesen Code kannte ich schon, aber er bringt mich bei meinem speziellen Problem nicht weiter. Das Einfügen einer Grafik in das RichEdit ist an sich nicht das Problem.
Ich möchte für eine Kopfzeile eines Serienbriefes folgendes erreichen: Links ein Logo, ca. 3x3 cm groß rechts vom Logo einen dreizeiligen Text mit Name und Anschrift des Vereins Das Problem im RXRichEdit sind die drei Zeilen rechts neben dem Logo. Das RichEdit arbeitet offenbar ausschließlich zeilenbasiert und lässt einen mehrzeiligen Text neben einer Grafik (so wie in Word bei entsprechender Formatierng der Grafik) nicht zu. Für die Darstellung des geplanten WYSIWYG-Editors bin ich dann auf die Idee gekommen, drei Zeilen Text mit der benötigten Einrückung zu schreiben und dann in die entstandene Lücke per InsertControl das Logo einzufügen. Ohne InsertControl ist alles bestens, aber sobald ich ein Control einfüge (hab ich auch testweise mal mit einem Button probiert), verschwindet die Schrift, die ich schon vorher geschrieben hatte. Allerdings ist sie nur optisch im RichEdit verschwunden, alle Formatierungsinformationen der nicht mehr sichtbaren Schrift sind noch da. Steffen |
AW: RxRichEdit und InserControl
.. wenn Du ein rtf mit z.B. word erstellst (mit Image und Text).
Kannst dieses dann in das TRichEdit laden und ist dann alles sichtbar (Image und Text)? Edit: vielleicht hilft Dir ![]() Grüße Klaus |
AW: RxRichEdit und InserControl
Das gewünschte Dokument mit Word erstellt --> als RTF-abgespeichert --> wieder in Word geöffnet = alles super
Das gleiche Dokument im RXRichEdit geöffnet --> die Grafik ist weg, Textformatierung ist erhalten geblieben. Wie schon gesagt, das Problem ist nicht das Einfügen einer Grafik im RichEdit, das geht. Aber diese Grafik über mehrere Textzeilen hinweg einzufügen, das geht wohl leider nicht. Und dann bleibt immer noch die Frage, wieso ein InsertControl im RXRichEdit (egal was für ein Control), den Text unsichtbar werden lässt. Steffen |
AW: RxRichEdit und InserControl
|
AW: RxRichEdit und InserControl
Kann diese Komponente das?
|
AW: RxRichEdit und InserControl
Zitat:
In der ![]() Wenn es funktionert - gut, wenn nicht - dann weiß ich auch nicht weiter. Grüße Klaus |
AW: RxRichEdit und InserControl
InsertControl fügt das Control nicht in die RTF-Daten ein sondern macht etwas völlig anderes.
Nimmt man z.B. eine Groupbox, dann kann man darauf weitere Controls wie TLabel, TEdit,... platzieren. Entweder man nimmt dazu den Formulardesigner oder man verwendet die Funktion InsertControl oder man setzt das Parent-Property. Statt
Delphi-Quellcode:
hätte man auch
RXRichEdit1.InsertControl(HIMG)
Delphi-Quellcode:
schreiben können; der Effekt ist der Gleiche.
HIMG.Parent := RXRichEdit1
|
AW: RxRichEdit und InserControl
@Klaus01
Ja, hab mir die Demo gerade schon heruntergeladen. Sieht aber nicht so aus. Bezüglich der Bilder kann ich keine Veränderung gegenüber dem bisher von mir verwendeten RXRichEdit feststellen. @sx2008 Stimmt, der Effekt ist der gleiche.
Delphi-Quellcode:
hatte ich auch schon. Aber warum verschwindet der Text? Es kann doch nicht gewollt sein, dass es die Möglichkeit gibt, Kontrolls einzufügen mit dem Resultat, dass man den text nicht mehr sieht.
HIMG.Parent := RXRichEdit1
Das der Bildinhalt des Kontrolls nicht in der RTF-Datei mitgespeichert wird, war mir klar. Mir geht es erst einmal nur um die gewünschte Bildschirmanzeige im Editorfenster. Das Abspeichern der Bildinformation sowie das Drucken an der richtigen Stelle würde ich dann gesondert behandeln. Steffen |
AW: RxRichEdit und InserControl
.. ich denke es wird nicht funktionieren.
In word mit entprechender Bildformatierung ist es möglich Text neben dem Bild darzustellen. Wird das Dokument als RTF gespeichert und von Word wieder geöffnet ist alles o.k. Wird es jedoch mit Wordpad geöffnet sind die TextZeilen unter dem Bild zu finden. Vermutung: MS Word bringt eine eigene RichEdit Engine mit. Wordpad nutzt die vom Betriebssystem. Grüße Klaus |
AW: RxRichEdit und InserControl
Zitat:
Normalerweise sind nur TForm, TFrame, TPanel, TGroupbox, TScrollbox (hab ich was vergessen?) als Kontainer vorgesehen. Bei diesen Klassen ist
Delphi-Quellcode:
.
csAcceptsControls in ControlStyle = True
Es sieht so aus, als ob dein Image den Text komplett verdeckt. Mit folgendem Code wird das Image in die linke obere Ecke geschoben.
Delphi-Quellcode:
Da das Image viel kleiner als das RichText ist, müsste der Text zumindest teilweise zu sehen sein.
HIMG.AutoSize := false;
HIMG.SetBounds(0,0,32,32); |
AW: RxRichEdit und InserControl
Zitat:
Such mal nach Riched*.dll bzw nach msftedit.dll und dann schau mal ![]() Gruß K-H |
AW: RxRichEdit und InserControl
Liste der Anhänge anzeigen (Anzahl: 1)
Nein, das ist es leider auch nicht. Das Image, dass ich einfügen will ist im Beispiel nur gut 100x100 Pixel groß.
Und man sieht dann, wenn man mit dem Cursor neben oder unter dem Image ist, auch den Cursor blinken, aber eben nicht mehr den eingegebenen Text. Statt Buchstaben erscheint immer nur der senkrechte Strich des Cursors (siehe angehängter Screenshot) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 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