Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RTF-Edit in der Grösse beschränken (https://www.delphipraxis.net/75085-rtf-edit-der-groesse-beschraenken.html)

TBx 14. Aug 2006 09:45


RTF-Edit in der Grösse beschränken
 
Hallo!

Ich suche nach einer Möglichkeit, in einem RTF-Edit die Dokumentmaße zu beschränken.

Hintergrund ist der, daß ich in einem Report einen bestimmten Platz zur Verfügung habe.
Nun soll dem Anwender die Möglichkeit gegeben werden, den Platz genau auszunutzen.

Die Frage ist nun, wie ich die Eingabe so beschränke, daß ich auch wirklich nur den verwendbaren Teil gefüllt bekomme. Derzeit kann der Anwender in das RichEdit soviel reinschreiben wie er mag. Im Report wird dann einfach das, was nicht reinpaßt abgeschnitten. Keine sonderlich schöne Lösung. Ein Ausweiten des Feldes im Report oder ersatzweiser Andruck mehrerer Reportpages ist nicht möglich.

Im Endeffekt müßte ich einfach die Größe des Zeichenblattes im RichEdit setzen können. Aber wie?

Gruß

onlinekater

sveta 14. Aug 2006 10:55

Re: RTF-Edit in der Grösse beschränken
 
Hallo
probiere es mal so: z.B für länge 256
in keypress
if (length(trimright(Edit.Text))>= 256) and not(key=#8) then key:=#0;

grüße

sveta 14. Aug 2006 10:56

Re: RTF-Edit in der Grösse beschränken
 
if (length(trimright(Edit3.Text))>= 3) and not(key=#8) then key:=#0;

Flocke 14. Aug 2006 10:59

Re: RTF-Edit in der Grösse beschränken
 
Also Einschränken kannst du die Größe meines Wissens nach nicht, du kann aber die Benachrichtigung WM_NOTIFY/EN_REQUESTRESIZE abfangen, mit der dir das Fenster bei jeder Änderung mitteilt, wie groß der Inhalt ist (in Pixeln). Daraufhin könntest du z.B. einen Hinweis anzeigen, dass der Inhalt nicht mehr dargestellt werden kann.

Das JvRichEdit-Control von Jedis bietet dafür schon einen Event (OnRequestResize), beim Standard-RichEdit müsstest du's wohl nachrüsten.

Jürgen Thomas 14. Aug 2006 11:01

Re: RTF-Edit in der Grösse beschränken
 
Zitat:

Zitat von onlinekater
Im Endeffekt müßte ich einfach die Größe des Zeichenblattes im RichEdit setzen können.

Delphi-Referenz durchsuchenTCustomRichEdit.PageRect müsste es doch leisten. Allerdings kann ich auch nicht erkennen, wie man "längere Eingaben" verhindern kann.

Jürgen

TBx 14. Aug 2006 11:13

Re: RTF-Edit in der Grösse beschränken
 
@sveta: nutzt mir leider nichts, da es nicht nur um die Zeichenanzahl geht. Unterschiedliche Formatierungen benötigen unterschiedlich viel Platz.
@Flocke: Das schaut gut aus, gucke ich mir mal näher an.
@Jürgen Thomas: Über die Property bin ich inzwischen auch gestolpert, doch schein das Richedit sich da leider einen Dr*** drum zu scheeren.

Vielen Dank @all für Eure Mühen

Lannes 14. Aug 2006 11:27

Re: RTF-Edit in der Grösse beschränken
 
Hallo,
Zitat:

Zitat von Flocke
Das JvRichEdit-Control von Jedis bietet dafür schon einen Event (OnRequestResize), beim Standard-RichEdit müsstest du's wohl nachrüsten.

beim Standard-RichEdit ist es das OnResizeRequest-Event.


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