Hi Leute
Ich hab ein kleines Problem... Zwar habe ich eine Listbox die ich gewissermassen in zwei Spalten darstellen will:
TEST Test1
TEST2 Test2
TEST3 Test3
Zwischen den beiden Texten soll ein Tabulator sein (CHR(9)) Doch wird je nach Textlänge der ersten Spalte eine unterschiedliche Anzahl tabulatoren benötigt, dass die zweite Spalte untereinander steht. Nun habe ich gedacht, dass ich sagen kann, dass wenn z.B die erste Spalte 4 Buchstaben hat, dass er 2 Tabulatoren machen soll und wenn 6 Buchstaben, dann 1 Tabulator. Doch funktioniert dies nicht, da ich keine monospace Schriftart benutzen darf und so die Länge der Zeichenkette subjektiv ist (z.B Unterschied zwischen M und i)...
Lässt sich die Länge einer Zeichenkette auch noch nach anderen Kriterien als die Buchstabenlänge bestimmen (Pixel o.Ä) oder gibt es eine andere Möglichkeit? Mit MultiColumn bin ich irgendwie nicht zurecht gekommen, weil mir da die vertikale Scrollbar vollends ausgeschaltet wird
WEY
Zeichenkette länge
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Zeichenkette länge
Hi
welche Schriftart hast du denn gewählt ? Hast du Arial genommen, versuch mal courier New
welche Schriftart hast du denn gewählt ? Hast du Arial genommen, versuch mal courier New
Re: Zeichenkette länge
Die Software hat grundsätzlich die Schriftart Arial. Aus optischen Gründen darf ich courier new nicht einsetzten...
WEY
WEY
- Armin
- Rekursionen-Architekt
- Beiträge: 393
- Registriert: Mo, 26. Sep 2005 12:09
- Wohnort: 75331 Engelsbrand
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Zeichenkette länge
Hallo WEY,
das sollte doch mit ::drawMode := XBP_DRWA_OWNER möglich sein - z.B. ownerdraw.exe
Grüsse, Armin
das sollte doch mit ::drawMode := XBP_DRWA_OWNER möglich sein - z.B. ownerdraw.exe
Grüsse, Armin
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Zeichenkette länge
Hallo,
also am genauesten geht es, wenn du mit der GraQueryTextBox() Funktion die tatsächliche Länge eines Strings ermittelst und dann prüfst wo die Grenzen liegen.
Allerdings ist das etwas umständlich. Einfacher ist es eventuell, wenn du eine Funktion schreibst, die zählt wieviele schmale (i), mittlere (f,e,t...) und breite (m) Buchstaben dein Wort hat. Jede Art mit der ungefähren Pixelbreite berechnet sollte einen guten Anhaltspunkt für die Anzahl der chr(9) geben.
also am genauesten geht es, wenn du mit der GraQueryTextBox() Funktion die tatsächliche Länge eines Strings ermittelst und dann prüfst wo die Grenzen liegen.
Allerdings ist das etwas umständlich. Einfacher ist es eventuell, wenn du eine Funktion schreibst, die zählt wieviele schmale (i), mittlere (f,e,t...) und breite (m) Buchstaben dein Wort hat. Jede Art mit der ungefähren Pixelbreite berechnet sollte einen guten Anhaltspunkt für die Anzahl der chr(9) geben.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Zeichenkette länge
ich will ja nicht wieder damit anfangen das es sich um einen BUG handelt ...__WEY hat geschrieben:Mit MultiColumn bin ich irgendwie nicht zurecht gekommen, weil mir da die vertikale Scrollbar vollends ausgeschaltet wird
was du eigentlich sucht ist ein Listview denn damit kann man auch MultiColumn machen.
alternative sehe ich auch nur Ownerdraw wo du mit GraQueryTextBox() die Textlänge vorher bestimmst.
gruss by OHR
Jimmy
Jimmy
Re: Zeichenkette länge
Hey Leute! Hammerarbeit!
Vielen Herzlichen Dank für Eure rege Anteilnahme an meinem Problem! Das Problem liess sich dank 'GRAQUERYTEXTBOX' lösen! Vielen Dank!
WEY
Vielen Herzlichen Dank für Eure rege Anteilnahme an meinem Problem! Das Problem liess sich dank 'GRAQUERYTEXTBOX' lösen! Vielen Dank!
WEY