Announcement

Collapse
No announcement yet.

Hintergrundfarbe für einzelne Row in StringGrid ändern

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

  • Hintergrundfarbe für einzelne Row in StringGrid ändern

    Hallo<br>
    <p>
    ich möchte eine StringGrid Tabelle ausgeben mit einer Reihe von Dateien. Jeweils mehrere von denen gehören zusammen. Die zusammengehörigen möchte ich grafisch markieren, indem ich für die die jeweils gleiche Hintergrundfarbe vewende, z.b. abwechselnd clOlive und clGreen.</p>
    <p>
    Wie mache ich das? Die Hilfe hat mir bisher nicht geholfen.
    </p>
    Danke schon mal!<br>
    Carsten Tilsner

  • #2
    Hallo Carsten,

    kurzes Bsp für Verwendung von Canvas im Ereignis OnDrawCell eines TStringGrid:
    <PRE>
    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
    int ARow, TRect &Rect, TGridDrawState State)
    {
    if (ARow % 2)
    {
    StringGrid1->Canvas->Brush->Color = clRed;
    StringGrid1->Canvas->FillRect(Rect);
    StringGrid1->Canvas->TextOutA(Rect.Left, Rect.Top, "Test");
    }
    }
    </PRE>
    Hierbei wird jede ungerade Zeile mit rotem Hintergrund ausgegeben...

    Grüße Joche

    Comment


    • #3
      Hi Jochen,<br>
      danke für die schnelle Antwort!
      <p>
      Wenn ich Dein Beispiel anwende, wird aber jeweils der Inhalt der Tabelle überschrieben - wie in Deinem Beispiel mit "Test".
      </p>
      Geht denn das nicht einfach auch so (oder ähnlich):<br>
      Color auf Color1 setzen<br>
      zusammengehörige Dateien in Tabelle aufnehmen<br>
      Color auf Color2 setzen<br>
      die nächsten Dateien aufnehmen<br>
      Color wieder auf Color1, usw..<br>
      <br>
      Gruß,
      carste

      Comment


      • #4
        Hallo Carsten,

        mir ist kein einfacher Weg bekannt....

        Ja, in der Routine ist der Wert "Test" hartcodiert. An der Stelle mußt Du den auszugebenden Wert aus dem StringGrid ermitteln. Die Formatierung (linksbündig usw.) mußt Du auch selbst machen. Ebenso wie die farbliche Abhebung, wenn die Zelle ausgewählt ist. (Dafür ist die Eingeschaft State in den Funktionsparametern).

        Grüße Joche

        Comment


        • #5
          Schau mal hier:

          http://home.snafu.de/christian.marquardt/komponenten.2/2_extendedstringgrid.html

          @Christian: Ich hoffe, Du hast keine Einwände, wenn ich hier Links zu Deinen Seiten poste...

          Grüße Joche

          Comment


          • #6
            n&#246
            Christian

            Comment

            Working...
            X