AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListboxEinträge nicht übers Ende der Listbox hinaus zulassen
Thema durchsuchen
Ansicht
Themen-Optionen

ListboxEinträge nicht übers Ende der Listbox hinaus zulassen

Ein Thema von Lefko · begonnen am 31. Dez 2003 · letzter Beitrag vom 19. Feb 2004
Antwort Antwort
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#1

ListboxEinträge nicht übers Ende der Listbox hinaus zulassen

  Alt 31. Dez 2003, 13:12
Hallo Freunde ,

ich hab ein Screenshot im Anhang, kann mir jemand sagen, wie man sowas am besten vermeiden kann?
Ich hab schon den Eintrag auf 20 Zeichen begrenzt, aber die Zeichen sind ja unterschiedlich breit...

jemand ne idee?

MfG Lefko


//PS: ich bin jetz erstmal verreist, also keine antworten erwarten von mir

//PPS: Ich wünsch euch ne fette Sylvesterparty heut abend!
Und denkt dran: Finger weg von Böllern! (eindeutig zweideutig )
Miniaturansicht angehängter Grafiken
was_kann_man_dagegen_tun__rest_des_eintrags_nicht_mehr_zu_sehen....._.jpg  
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#2

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 31. Dez 2003, 13:18
mir fallen da zwei Möglichkeiten ein...

entweder rest abschneiden und durch 3 Punkte ersetzen

oder

schon bei der Eingabe prüfen obe der Textstring hinein passt
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 31. Dez 2003, 13:19
Moin Lefko,

Du könntest mit Canvas.TextWidth feststellen, wie breit der Text in Pixeln ist, wenn er ausgegeben wird, unabhängig davon, wie viele Zeichen erumfasst, und daraufhin die Eingabe limitieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 31. Dez 2003, 13:21
Zitat von Christian Seehase:
Moin Lefko,

Du könntest mit Canvas.TextWidth feststellen, wie breit der Text in Pixeln ist, wenn er ausgegeben wird, unabhängig davon, wie viele Zeichen erumfasst, und daraufhin die Eingabe limitieren.
Ich muss dazu sagen, dass das eine Listbox mit Borderstyle = bsNone
da gibts doch keine Canvas??

MfG Lefko.
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 31. Dez 2003, 13:26
Moin Lefko,

Zitat von Lefko:
...da gibts doch keine Canvas??
Gegenfrage:
Hast Du mal einen Blick in die Hilfe geworfen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 31. Dez 2003, 13:31
mann Christian, du sitzt wohl vor dem Bildschirm und lauerst darauf, dass du endlcih wieder irgendwo antworten kannst, oder?? das dauert ja nicht mal 2 minuten......

"Juhuuu, schnell ne antwort posten!! jaaaa, endlich, schnell schnell schnell!!"

MfG Lefko.

PS: ja, hab keinen blick in die hilfe geworfen, da müsste ich delphi anmachen, und das dauert mir grad zu lang, weil ich nur nen lahmen rechner hab und gleich verreise
Dann weiss ihc ja jetzt, wie ich es machen muss
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 16. Feb 2004, 10:37
Hm, hat gar nicht geklappt fällt mir mal auf nach ewigen Zeiten...

Bei diesem Code:
Delphi-Quellcode:
repeat
 Name := Inputbox('Namen eingeben!','Bitte geben Sie Ihren Namen ein!','');
 if Name = 'then exit;
 if Form2.ShowList.Canvas.TextWidth(PunkteStr + ' ' + Name) > 200
   then Showmessage('Ihr Name ist zu lang!');
until Form2.ShowList.Canvas.TextWidth(PunkteStr + ' ' + Name) <= 200;
sagt mir die MessageBox (hier jetzt nicht mehr drin), dass z.B. der String "Der BESTE der WELT" nur 140 Pixel lang sei? Dieser String ist es aber beispielsweise, der in dem Screenie oben über den Rand der Listbox hinausgeht?!

Kann mir irgendjemand dazu was sagen? hat das was mit dem Font zu tun? oder so?

MfG Lefko

//Edith sagt, ich sollte sagen, dass ich Comic Sans MS verwende...
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 16. Feb 2004, 12:47
Ja der Font sollte in dem Canvas auch gerade gewählt sein.

Solche Prüfungen mach ich für gewöhnlich mit einem Temporären Canvas der das selbe Font-Object erhält
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#9

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 16. Feb 2004, 13:17
ListBox.Canvas.Font := ListBox.Font vorher reicht aus.

Gruß, teebee
  Mit Zitat antworten Zitat
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: ListboxEinträge nicht übers Ende der Listbox hinaus zula

  Alt 19. Feb 2004, 14:52
Danke, funktioniert wunderbar

MfG Lefko.
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  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 08:10 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