Announcement

Collapse
No announcement yet.

Wie kann man Tabulatoren in TStrings einfügen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie kann man Tabulatoren in TStrings einfügen?

    In der Online-Hilfe ist 'Zeile1'#9'Zeile1' als Lösung zum Einfügen eines Tabulators in einen String für z.B. eine ListBox angegeben. Dies klappt jedoch nicht, bei mir erscheint lediglich ein kleines Quadrat.

    Wer kann mir eine andere Lösung verraten?

  • #2
    Ein Tab ist im String dann drinnen. Die Frage ist ob die den String anzeigende Control etwas mit Tabs anfangen kann.
    Die meisten Controls koennen das eben nicht

    Comment


    • #3
      Ist es irgendwie machbar, Tabulatoren in ListBoxes einzufügen, vielleicht gibt es eine Extra-Komponente

      Comment


      • #4
        Hallo,

        wo liegt denn das Problem? Wenn ich mit Delphi 5 diesen Versuch nachvollziehe, erhalte ich an der Tabulatorposition ausgerichtet Einträge, wenn im Objektinspektor die TListBox-Eigenschaft <b>TabWidth</b> mit einem Wert > 0 belegt wird:
        <pre>
        procedure TForm1.Button1Click(Sender: TObject);
        begin
        Listbox1.Items.Add('1'#9'Testeintrag');
        end;
        </pre>
        Der Grund für dieses Verhalten wird klar, wenn man sich einmal die Implementierung in StdCrls.pas anschaut:
        <pre>
        Style := Style or (WS_HSCROLL or WS_VSCROLL or LBS_HASSTRINGS or
        LBS_NOTIFY) or Styles[FStyle] or Sorteds[FSorted] or
        Selects^[FMultiSelect] or IntegralHeights[FIntegralHeight] or
        MultiColumns[FColumns <> 0] or BorderStyles[FBorderStyle] or
        TabStops[FTabWidth <> 0];
        </pre>
        Der von Windows erwartet Fensterstil LBS_USETABSTOPS wird von der VCL nur dann aktiviert, wenn auch ein Wert <> 0 im Objektinspektor eingetragen wurde

        Comment


        • #5
          Hm, klar TabWidth. Habe mal wieder den Wald vor lauter Bäumen nicht gesehen

          Comment


          • #6
            Und wie geht das bei einem Richedit

            Helmu

            Comment


            • #7
              Hallo,

              wenn mit dem Window-Zubehör <b>WordPad</b> der Text "1 <Tabulator> 2" geschrieben und als RTF gespeichert wird, sieht das so aus:

              <i>{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttb l{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New Roman;}}
              {\colortbl\red0\green0\blue0;}
              \deflang1031\horzdoc{\*\fchars }{\*\lchars }\pard\plain\f2\fs20 1\tab 2
              \par }
              </i>

              Zwischen "1" und "2" ist das RTF-Steuerzeichen <b>\tab</b> für den Tabulator zuständig

              Comment

              Working...
              X