Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Zeilenumbruch SpeedButton im Objektinspektor?


Henry - Do 24.01.08 19:01
Titel: Zeilenumbruch SpeedButton im Objektinspektor?
Hallo,

ich durchsuche jetzt seit einer Stunde alle möglichen Foren nach der Lösung, leider bis jetzt ohne Erfolg.

Vor mehreren Jahren habe ich in irgendeinem Forum den Hinweis gelesen, wie ich im Objektinspektor ein zweizeiliges Caption zuweisen kann.
Das es geht weis ich, da ich es in einem Projekt das ich nun weiterentwickele gemacht habe (der Zeilenumbruch ist dort mit zwei dicken senkrechten Balken zu sehen).
Es wäre wichtig das nicht über einen Zuweisung zu Laufzeit zu machen.

Delphi-Quelltext
1:
SpeedButton.Caption := 'Zeile1' + #10#13 + 'Zeile2'                    

Ich meine das es da eine Tastenkombination gegeben hat (oder was ähnliches).

Kann mir jemand sagen wie ich die Caption-Eigenschaft mit einem Zeilenumbruch direkt im OI zuweisen kann?

Danke schon einmal im Voraus.


Mitmischer 1703 - Do 24.01.08 19:21
Titel: Re: Zeilenumbruch SpeedButton im Objektinspektor?
user profile iconHenry hat folgendes geschrieben:


Delphi-Quelltext
1:
SpeedButton.Caption := 'Zeile1' + #10#13 + 'Zeile2'                    



Damit hast du dir die Lösung direkt gegeben :) !

Delphi-Quelltext
1:
2:
#10
#13


Henry - Do 24.01.08 19:25
Titel: Re: Zeilenumbruch SpeedButton im Objektinspektor?
user profile iconMitmischer 1703 hat folgendes geschrieben:
user profile iconHenry hat folgendes geschrieben:


Delphi-Quelltext
1:
SpeedButton.Caption := 'Zeile1' + #10#13 + 'Zeile2'                    



Damit hast du dir die Lösung direkt gegeben :) !

Delphi-Quelltext
1:
2:
#10
#13

Eben nicht, denn ich möchte es nicht wie in meinem Lösungsweg zur Laufzeit zuweisen, sondern schon in der Entwurfszeit.
Leider kann man im Objektinspektor #10 und #13 nicht direkt eingeben um einen Zeilenumbruch zu erzwingen.
Oder ich kenne den Trick nur nicht, den Du mir dann bestimmt nennen kannst ;)


Mitmischer 1703 - Do 24.01.08 19:28

Ne, klappt nicht... :(


Henry - Do 24.01.08 19:45

Muss irgendwie gehen, habe es ja vor ca. 6 Jahren gemacht (siehe Screenshot vom Beispiel Button).

Ich suche zur Zeit auch noch parallel in meinen Büchern, irgendwo hatte ich den Tip ja her.
Es war irgendein Tastentrick.


Narses - Fr 25.01.08 00:36

Moin!

user profile iconHenry hat folgendes geschrieben:
Muss irgendwie gehen,
Nun, im OI geht´s jedenfalls AFAIK nicht. :nixweiss:

Du kannst aber mit ALT+F12 in die Textdarstellung des Formulars wechseln und dort den String patchen: :idea:

Quelltext
1:
2:
3:
4:
5:
6:
7:
  object SpeedButton1: TSpeedButton
    Left = 32
    Top = 48
    Width = 193
    Height = 49
    Caption = 'Das ist'#13#10'ein Test'
  end
cu
Narses


Henry - Fr 25.01.08 01:35

Hallo,

ich bin mir sicher das es über den OI ging.

Werde erst einmal zur Laufzeit die Texte zuweisen, damit die Optik stimmt und weiter nach der Lösung forschen.
Sonst hatte ich solche Tricks immer aufgeschrieben, aber diesmal wohl leider nicht.
Sollte ich es finden werde ich hier die Lösung bekanntgeben.

Die Frage lasse ich mal hier offen im Raum stehen, falls doch noch jemand die Lösung kennt die ich meine.

Danke aber schon mal allen für die bisherigen Tips.


icho2099 - Fr 25.01.08 19:41

nicht probiert aber:

früher konnte man die Codes der Zeichen als Dezimalwert eingeben,
wenn man die ALT-Taste festhielt und den Dezimalwert auf dem
NUM-Pad eingegen hat.

Vielleicht geht das ja immer noch so ????


Henry - Fr 25.01.08 20:10

Leider nicht, aber danke für den Hinweis.


Yogu - Fr 25.01.08 21:38

Es ist doch echt immer so, dass die entscheidenden Posts ignoriert werden:

user profile iconNarses hat folgendes geschrieben:
Du kannst aber mit ALT+F12 in die Textdarstellung des Formulars wechseln und dort den String patchen

Nächstes Mal gründlicher lesen :les: :lupe: :gruebel: :think:


Henry - Fr 25.01.08 21:58

user profile iconYogu hat folgendes geschrieben:
Es ist doch echt immer so, dass die entscheidenden Posts ignoriert werden:

user profile iconNarses hat folgendes geschrieben:
Du kannst aber mit ALT+F12 in die Textdarstellung des Formulars wechseln und dort den String patchen

Nächstes Mal gründlicher lesen :les: :lupe: :gruebel: :think:

Das habe ich schon gelesen und das klappt genau so gut wie die Zuweisung zur Laufzeit, aber ich bin mir halt sicher das ich es damals nicht so gemacht habe.
Das ist ja auch wesendlich aufwendiger als den Text dann gleich zur Laufzeit zuzuweisen, da ich dann erst den entsprechenden Eintrag im Formular raussuchen muss.


Yogu - Fr 25.01.08 22:02

Ach so, dir ging es um den Zeitaufwand. Ich dachte, du willst den Wert einfach nur im Objektinspektor stehen haben.

Mach dir doch eine Funktion, die den Wert "\n" (PHP) in einen Zeilenumbruch umwandelt (Du kannst auch einfach ReplaceString verwenden, und rufe diese beim FormCreate auf. Du gehst in einer Schleife einfach alle Labels durch, und führst diese Berechnung durch.

Ist das einfach genug?


Henry - Fr 25.01.08 22:25

Ist auch eine gute Idee. Die kann man auch schön für andere Dinge einsetzen.
Werde ich erst einmal festhalten.

Ich suche aber trotzdem noch weiter, bis ich raus habe wie ich es damals gemacht habe :)
Das lässt mir nämlich irgendwie keine Ruhe mehr ;)

Aber ich finde gut das auch einige andere Lösungen dabei herauskommen, wer weis wofür man die noch alles brauchen kann.
Bitte nicht böse sein das ich trotzdem weiter suche :cry: