AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textzeilen umbrechen

Ein Thema von xaromz · begonnen am 23. Jul 2005 · letzter Beitrag vom 6. Jun 2006
Antwort Antwort
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#1

Re: Textzeilen umbrechen

  Alt 23. Jul 2005, 14:17
Hallo,
Zitat von marabu:
Abgesehen davon, dass ein multiline edit window den Umbruch fast ohne dein Zutun erledigt, könntest du einen entgegengesetzten Ansatz wählen. Nicht einen langen Text zeichenweise kürzen, sondern den Ausgabetext wortweise aufbauen. Du greifst einfach Wort für Wort - Trenner kann white space sein - aus deinem Textpuffer ab und bestimmst über die API Funktion GetCharWidth32() bzw. GetTextEntentPoint32() die benötigten Pixel. Das sollte deutlich schneller funktionieren als dein bisheriger Ansatz.

marabu
Ein Multiline-Edit kann aber keine Formatierungen darstellen, mein Edit schon.
Meine Vorgehensweise war natürlich vereinfacht ausgedrückt, ich springe beim Verkleinern immer zum nächsten Trennzeichen (Space, Interpunktionszeichen, Trennstrich...). Nur was mache ich, wenn mein Edit 30 Pixel breit ist und jemand "Donaudampfschifffahrtskapitän" eingibt? Da gibt es kein Trennzeichen. Also muss ich doch wieder nachmessen, bis es passt.
Ich hab mir schon überlegt ob ich einfach meinen Suchalgorithmus so optimiere:
1) Text messen
2) Text zu lang -> Textlänge halbieren -> Zurück zu 1)
3) Text zu kurz -> Textlänge um 50% vergrössern -> Zurück zu 1)

Da fehlt natürlich noch die Abbruchbedingung.
Das müsste die Textmessungen im Mittel drastisch verringern

Gruß
xaromz
  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 21:36 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