![]() |
Skalierbare RichEdit Komponente
Hallo
Ich habe das schon mal vor 2 Jahren gefragt. Leider ohne Ergebnis, vielleicht hat sich ja was getan. Kennt jemand eine Möglichkeit Eine TRichEdit Komponente skalierbar zu machen. Also das genau z.B. nur 40 Spalten und 25 Zeilen angezeigt werden. |
AW: Skalierbare RichEdit Komponente
Hmmm, mal überlegen ...
RichEdit heißt ja auch, dass dort Text in beliebigen Schriftarten und Größen angezeigt werden kann. Also würde ich mal sagen, dass deine Anforderung von einer TRichEdit Komponente niemals erfüllt werden kann weil es sich eben um RichText handelt. Kann es sein, dass du etwas wie beim SynEdit (TSynMemo) suchst, wo du Text mit einer festen Schriftart und Größe aber mit Farbattributen darstellen kannst? |
AW: Skalierbare RichEdit Komponente
In Texteditoren werden auch feste Schriftarten und -größen verwendet und trotzdem kann man die angzeigte Größe skalieren.
|
AW: Skalierbare RichEdit Komponente
Ich glaube, das hat Sir Rufo verwirrt:
Zitat:
Man könnte das eventuell lösen, wenn man vorgibt, dass man dann zum Beispiel 40 Zeichen der Zeile anzeigen will, bei der die Breite des Textes für 40 Zeichen maximal ist. Im Grunde hast du 2 Probleme:
Aber mir kommt das Gesamtproblem auch etwas merkwürdig vor. Kannst du eventuell etwas mehr darüber sagen, was du mit dem Ding machen willst? |
AW: Skalierbare RichEdit Komponente
Zitat:
Wozu glaubst du denn sowas doch eher Absurdes zu benötigen? |
AW: Skalierbare RichEdit Komponente
Sir Rufo
Du hast ja mal wieder recht. Ich meine natürlich Breite und Höhe in Pixel. |
AW: Skalierbare RichEdit Komponente
Perlsau
Im meinem Fall zum bedrucken eines Ordnerrückens und der hat nur eine begrenzte Fläche. |
AW: Skalierbare RichEdit Komponente
Böte sich da nicht eher ein Report an?
|
AW: Skalierbare RichEdit Komponente
Zitat:
Wenn bei deinem XE-Starter ein Report-Generator dabei ist, bist du mit dessen Verwendung wohl am besten beraten, wie bereits Sir Rufo angedeutet hat. Ansonsten kannst du dir auch mit einem TImage behelfen, auf das du den Text ausgibst und das du dann entsprechend skaliert auf den Drucker ausgibst. Ich hab das mal vor vielen Jahren mit Delphi 7 Personal so gemacht – das Programm wird noch heute von dem Künstlerverein, dem ich das programmiert hatte, eingesetzt. Allerdings war die dortige Grafikausgabe wesentlich anspruchsvoller: Torten- und Säulengrafiken, Tabellen, Doppelsäulen und dergleichen mehr. Wenn du mit einem Canvas-Objekt arbeitest, das du deinen Grafik-Proceduren übergibst, kannst du letztere für Bildschirm- und Druckausgabe verwenden. |
AW: Skalierbare RichEdit Komponente
hALLO mOIN Perlsau
Danke, Danke, klar zum drucken nehme ich FastReport nur ich muss die Daten erst mal eingeben und da schwebte mir so ein pseudo WYSIWAG vor. Funzt ganz ordentlich.
Delphi-Quellcode:
Das ist weit von perfekt, wenn die Eingabe height überschreitet
procedure TForm1.reResizeRequest(Sender: TObject; Rect: TRect);
var height : integer; begin height := Rect.Bottom; // Button2.Caption := IntToStr( re.Constraints.MaxHeight ); if re.Constraints.MaxHeight > 0 then if height > re.Constraints.MaxHeight then re.Lines.Delete( re.Lines.Count -1 ); // LB.Items.Add( format ( 'r%d-b%d-t%d-l%d' , [Rect.Bottom - 300 , Rect.Bottom , Rect.Top , Rect.Left ]) ); end; lösche ich einfach die letzte Zeile. Schöner wäre es die letzte Eingabe bei überschreiten zu löschen, nur das bekomme ich nicht hin, wenn nur ein "RETURN" getätigt wird. Delete mag das nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 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