unerwünschte Doppeleinträge in StringGrid?



  • Hallo Leute,

    ich habe ein Problem mit meinem StringGrid:

    __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
    { 
    ...
    
      StringGrid1->Cells[0][0] = "lfd. Nr.";
      StringGrid1->Cells[1][0] = "Eintrag";
    
      for (int j=1; j<=StringGrid1->RowCount; j++)    
        StringGrid1->Cells[0][j] = IntToStr(j);
    ...
    };
    
    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
                            int ARow, TRect &Rect, TGridDrawState State)
    {
    ...
    int rechtsb = 2;
      DrawText(StringGrid1->Canvas->Handle, StringGrid1->Cells[ACol][ARow].c_str(),
               -1,&Rect, DT_SINGLELINE | DT_VCENTER | rechtsb); 
    ...
    }
    

    Folgendes Resultat entsteht:

    fixe Spalte
    ____________________________________

    lfd..lfd. Nr. Eintrag Eintrag fixe Zeile
    1...........1 Zelle1-1 okay
    ---------- ---------------- ----
    2...........2 Zelle1-2 okay

    .. ..

    Weshalb wird in den fixen Zeilen/Spalten der Eintrag doppelt eingetragen, während in den variablen Zellbereichen die Einträge wunderbar klappen?

    Kann jemand helfen?

    [ Dieser Beitrag wurde am 07.02.2003 um 19:34 Uhr von thunderbol4 editiert. ]

    [ Dieser Beitrag wurde am 07.02.2003 um 19:36 Uhr von thunderbol4 editiert. ]

    [ Dieser Beitrag wurde am 07.02.2003 um 19:39 Uhr von thunderbol4 editiert. ]

    [ Dieser Beitrag wurde am 07.02.2003 um 19:41 Uhr von thunderbol4 editiert. ]



  • Entweder ohne DrawCell oder aber den ersten Teil weglassen.

    MfG
    Andidreas



  • Danke Andidreas,

    mit einer if-Anweisung lassen sich die "Fixteile" leicht ausschließen und alles läuft wie gewünscht.


Anmelden zum Antworten