Announcement

Collapse
No announcement yet.

TStringGridDrawCell Problem

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

  • TStringGridDrawCell Problem

    Hallo,
    ich zeiche mit folgendem Code ein BMP aus einer ImageList in den FixedRow bereich eines TStringGrid:

    if(State.Contains(gdFixed)){
    for(int i = 0; i < StringGrid1->Width; i++){
    imgList->Draw(Grid->Canvas, 0, 0, 0, true);
    Grid->Canvas->Font->Color=clBlack;
    DrawCellText(Grid->Canvas, Grid->Cells[Col][Row], Rect, taLeftJustify);
    }
    }

    Die Grafik soll als Hintergrundgrafik verwand werden. Nun habe ich aber ein Problem. Erstens wird die Grafik, trotz Schleife, nicht bis ganz zum Ende der FixedRows gezeichnet und zweites wird der Text hinter das BMP gezeichnet, so das man den Text nicht mehr lesen kann. Dies soll aber nicht sein.

    Ich würde mich freuen wenn ihr mir helfen könnt. Deswegen jetzt schon einmal ein Danke an alle Helfer & Leser.

    MfG
    Nico

  • #2
    Das zeichnen sollte im OnDrawCell passieren, dort wird dir auch die Größe usw. übergebe
    Christian

    Comment


    • #3
      Ich zeichne ja in OnDrawCell, aber der Text ist immer hinter der Grafik, also nicht lesbar

      Comment


      • #4
        Dann zeichnest du falsch:

        Du kriegst

        int ACol,int ARow,const TRect &Rect, TGridDrawState State

        das sind Spalte, Reihe, GRÖßE der Zeichenfläche und Status

        über

        TCanvas *pGrid=this->Canvas;

        kriegst du den Canvas der Zeichenfläche. Der Text ist dann mit pGrid->TextRect(....) auszugeben. VORHER erfolgt mit pGrid->Draw(...) das Zeichnen der Bitmap.

        http://www.marquardtnet.info/cecke/komponenten.2/2_extendedstringgrid.htm
        Christian

        Comment

        Working...
        X