Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:19

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Okt 04, 2010 21:30 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Ich hab da auch mal wieder einer Frage:

Ich benutze in Gael die wirklich super gemachte TextSuite (tolle Arbeit, Lossy :-) ). Jedoch habe ich da ein Problem: ich erstelle gerade ein paar GUI-Controls und habe beim Edit-Feld folgendes Problem. Ich gebe den Text in einem Block per "tsTextOutW" aus. Jedoch "schneidet" die TextSuite automatisch alle Leerzeichen am Anfang vom Text ab. Ich könnte zwar mit größerem Aufwand die Leerzeichen "manuell nachrüsten", in dem ich den Block verschiebe. Jedoch finde ich das Verhalten nicht so gut, denn wenn ich Leerzeichen übergebe, dann erwarte ich eigentlich auch, dass sie mit beachtet werden.

Kann ich das Verhalten irgendwie so hin bekommen, dass die Leerzeichen am Anfang von einem [Wide]String auch mit ausgegeben werden?

Gruß
David

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 05, 2010 14:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
In deinem Fall ist das sicher nicht so schön. Die Lösungen dafür richten sich nach der Geschmacksfrage des Entwicklers. Im Blockmodus werden die Texte zerlegt und anschließend auf einzelne Zeilen aufgeteilt. Wenn die aufgeteilt werden, dann werden die Spaces am Anfang und Ende entfernt. Da sonst im Blocksatz oder in der nächsten Zeile Leerzeichen wären die da nicht hingehören. Bei HTML werden die Spaces auch locker flockig entsorgt. Okay. Doppelte aber auch. Im SingleLineModus sollte der Text so rauskommen wie er reingesteckt wird. Muss aber gestehen das weiß ich gerade gar nicht mehr 100%tig.

Alternativ dazu kannst du natürlich auch das Dauerleerzeichen (No-Break Space (U+00A0)) benutzen. Ist ein offizielles Zeichen was es selbst in Ansi gibt. Sieht aus wie ein Leerzeichen. Verhält sich auch genau so. Nur hat einen anderen Zeichencode und wird deswegen nicht umgebrochen. Für die TextSuite ist es ein Buchstabe eines Wortes wie jeder andere nur, dass dieser Buchstabe ein leeres Bild hat.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 05, 2010 14:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Hallo Lossy

danke für die Antwort. An das No-Break Space habe ich gar nicht gedacht und siehe da: es funktioniert super! Danke für den Hinweis :-)

Gruß
David

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]