Announcement

Collapse
No announcement yet.

Problem beim scrollen von text...wer kann helfen?

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

  • Problem beim scrollen von text...wer kann helfen?

    Hi,
    Ich versuche im Moment einen Text von rechts nach links über den Bildschirm scrollen zu lassen (indem ich ein label mit einem text auf einem panel immer weiter nach links verschiebe), bin aber fast verzweifelt, weil sich dabei folgendes Problem auftut an dem ich seit beinahe zwei wochen arbeite: Bei langen texten (über 200 Zeichen oder so) schneidet die Label->Caption einfach meine Text ab. Ich habe das Gefühl, dass der Speicher für eine Caption einfach auf eine bestimmte Anzahl an Zeichen begrenzt ist aber ich weis nicht wie ich es sonst machen soll.
    Diejenigen die schonmal sowas ähnliches gecodet haben oder vieleicht einen Lösungsvorschlag haben könnten ja vieleicht auf dieses Post antworten.
    Ich bin für jede Hilfe sehr dankbar!!!
    David

  • #2
    Hallo,

    du könntest auch ein mehrzeligies LabelFeld (StaticText) nehmen oder du nimmst mehrere Labels. Die länge eines Label Feldes ist tatsächlich beschränkt. Zum scrollen des Textes solltest du dir mal die VCL Funktion ScrollBy ansehen. Diese wäre für dich nur sinnvoll, wenn du deinen Text, in einem extra Fenster scrollst.

    Ciao Philip

    Comment


    • #3
      Hi David,<br>
      versuch es doch mal mit TCanvas. Mit Canvas->TextOut, oder Canvas->TextRect kannst Du dir Deinen Text direkt auf die Oberfläche zeichen. Du musst nur dafür sorgen, dass der alte Text der nicht überschrieben wurde wieder gelöscht wird. Dies erreichst Du z.B. durch Zeichnen eines leeren Rechteckes an der Stelle.<br>
      Falls Du einen definierten Zeichenbereich brauchst, kannst Du TCanvas von TPanel benutzen oder Du setzt eine TPaintBox ein.<br>

      Gruß Thorste

      Comment


      • #4
        Thorsten hat schon richtigen Tip gegeben. Denk aber auch noch an Double-Buffering gegen Flackern ! (Stichwort CopyRect(...))

        Für weitere Berechnungen brauchst Du noch folgende Funktionen Canvas->TextWidth(...) und Canvas->TextHeight(...)

        Viel Erfolg

        Comment

        Working...
        X