Ich suche einen Morf, in den der Anwender einen String eintippen kann.
Nichts Merkwürdiges, keine Farben und Schrifttypen, einfach nur 'xyzzy'. Ich verwende: entry := TextMorph new. entry backgroundColor: Color veryLightGray; contents: ''; wrapFlag: true; crAction: (MessageSend receiver: self selector: #contentsAccepted).]; hResizing: #spaceFill; vResizing: #rigid. Das funktioniert einigermaßen: * Wenn ich den Morph, in dem entry steckt, vergrößere, passt sich entry an. Das ist nett. Die Details sind aber hässlich: * Wenn ich mit entry contents: 'abcde'. einen neuen Inhalt setze, ändert sich die Breite des TextMorphs auf 5 Zeichen und der Morph passt sich nicht mehr der Umgebung an. Erneutes Senden von #hResizing bringt nichts. * Schlimmer: Wenn man eine Eingabe macht, die länger ist als die Morphbreite, wächst der Morph in senkrechter Richtung (zusätzliche Zeilen). Ich will aber, dass er in waagerechter Richtung wächst oder dass --- Spitze des Luxus --- die getippten Zeichen nach links aus dem Display verschwinden. Wer kann mir helfen? Testumgebung: Monticello: MCHttpRepository location: 'http://www.squeaksource.com/KFGui' user: '' password: '' Die Package laden und dann in einem Workspace (MultipleEntryMorph titles: #('Host' 'Port' 'User' 'Password')) openInHand ausführen. |
Hallo,
zumindest mit der Anforderung dass getippte Zeichen links aus dem Textfeld verschwinden, wird Dir PluggableTextMorph gute Dienste leisten. Ich verwende es in squeaksource/TimeTable. Damit konnte ich die folgende unschöne Eigenschaft von TextMorph umgehen, dass bei groß eingestelltem Schriftgrad der Schriftgrad "verloren geht", wenn man mit 'Del' alle Zeichen aus dem Textfeld löscht. Gruß Pascal ----- Original Nachricht ---- Von: Klaus Füller <[hidden email]> An: Squeak in Germany / Squeak in Deutschland <[hidden email]> Datum: 17.01.2009 18:24 Betreff: [Squeak-ev] String-Eingabe > Ich suche einen Morf, in den der Anwender einen String eintippen kann. > Nichts Merkwürdiges, keine Farben und Schrifttypen, einfach nur 'xyzzy'. > > Ich verwende: > > entry := TextMorph new. > entry > backgroundColor: Color veryLightGray; > contents: ''; > wrapFlag: true; > crAction: (MessageSend receiver: self selector: #contentsAccepted).]; > hResizing: #spaceFill; > vResizing: #rigid. > > Das funktioniert einigermaßen: > > * Wenn ich den Morph, in dem entry steckt, vergrößere, passt sich > entry an. Das ist nett. > > Die Details sind aber hässlich: > > * Wenn ich mit > > entry contents: 'abcde'. > > einen neuen Inhalt setze, ändert sich die Breite des TextMorphs auf > 5 Zeichen und > der Morph passt sich nicht mehr der Umgebung an. Erneutes Senden > von #hResizing bringt nichts. > > * Schlimmer: Wenn man eine Eingabe macht, die länger ist als die > Morphbreite, wächst der Morph > in senkrechter Richtung (zusätzliche Zeilen). Ich will aber, dass > er in waagerechter Richtung > wächst oder dass --- Spitze des Luxus --- die getippten Zeichen > nach links aus dem Display > verschwinden. > > Wer kann mir helfen? > > Testumgebung: Monticello: > > MCHttpRepository > location: 'http://www.squeaksource.com/KFGui' > user: '' > password: '' > > Die Package laden und dann in einem Workspace > > (MultipleEntryMorph titles: #('Host' 'Port' 'User' 'Password')) > openInHand > > ausführen. Pascal Vollmer Email: [hidden email] Jetzt komfortabel bei Arcor-Digital TV einsteigen: Mehr Happy Ends, mehr Herzschmerz, mehr Fernsehen! Erleben Sie 50 digitale TV Programme und optional 60 Pay TV Sender, einen elektronischen Programmführer mit Movie Star Bewertungen von TV Movie. Außerdem, aktuelle Filmhits und spannende Dokus in der Arcor-Videothek. Infos unter www.arcor.de/tv |
Am 17.01.2009 um 19:14 schrieb [hidden email]: > zumindest mit der Anforderung dass getippte Zeichen links aus dem > Textfeld verschwinden, wird Dir PluggableTextMorph gute Dienste > leisten. Ich verwende es in squeaksource/TimeTable. Ich finde squeaksource/TimeTable nicht. Wenn ich PluggableTextMorph benutze, weiß ich nicht - - wie ich die Texthintergrundfarbe ändern kann, - Ich kann die Größe setzen, beispielsweise auf 100@20. Dann bekomme ich fast das, was ich brauche. Allerdings scrollt der Inhalt nach wie vor senkrecht. - Wie kann ich den Text horizontal scrollen lassen? - Außerdem sollte die Höhe natürlich von der Schriftgröße abhängen. - Wenn ich die Morphs nebeneinander anordne, überlappen die sich bei knappem Platz. Es scheint so zu sein, dass PluggableTextMorph dem Layout-Manager falsche Informationen über seine Größe gibt. - Ich kann #acceptOnCr machen. OK. Ruft der einen Block auf, wenn ich Accept mache?? Kann ich von außen den roten Rand (den für "Inhalt geändert" wieder abschalten? Danke für die schnelle Antwort. Klaus |
Free forum by Nabble | Edit this page |