Avatar billede gorlist Nybegynder
30. januar 2002 - 13:09 Der er 4 kommentarer og
1 løsning

Stringgrid - farve én og kun én celle

Hvordan kan jeg, ved tryk på en celle i Stringgrid, ændre farven i den pågældende celle, så farven forbliver i cellen efter focus er fjernet fra den?
Avatar billede torbenmelander Nybegynder
30. januar 2002 - 13:31 #1
Jeg ville nok bruge en anden komponent end en TStringGrid...

Find evt. nogle her: www.torry.ru
Avatar billede hreiff Nybegynder
30. januar 2002 - 15:39 #2
Her en procedure som laver kolonne 2 grøn og resten røde.
Det kan nemt ændres til felter.
Hvordan du ændrer det ved klik i feltet har jeg ikke lige et forslag til.

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);

Const  //define your color here. Of course you
        //can use default colors too.
  clPaleGreen = TColor($CCFFCC);
  clPaleRed =  TColor($CCCCFF);

begin

//Does the cell have the focus you have to paint it with other colors
if (gdFocused in State) then begin   
  StringGrid1.Canvas.Brush.Color := clBlack;
  StringGrid1.Canvas.Font.Color := clWhite;
end
else  //Does the cell have NOT the focus you can use
      //your personal colors here

  if ACol = 2  //the second Column should be
                //green, the other cells red
    then StringGrid1.Canvas.Brush.color := clPaleGreen
    else StringGrid1.canvas.brush.Color := clPaleRed;

//Now Paint the cells, but only, if the cell isn't the Title- Row/Column
//This of course depends whether you have title-Row/Columns or not.

If (ACol > 0) and (ARow>0) then
  begin
      //Painting the Background
    StringGrid1.canvas.fillRect(Rect);

      //Painting the Text. Here you can improve the code with
      // using alignment and so on.
    StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
  end;
end;
Avatar billede hreiff Nybegynder
30. januar 2002 - 15:41 #3
Hvis du vil lave felt(2,2) til grøn bruger du;
If ((acol=2) and (arow=2)) then
Avatar billede gorlist Nybegynder
30. januar 2002 - 23:06 #4
Det er meget vigtigt at det er ved tryk på cellen at farven ændrer sig - ellers er det omsonst.
Avatar billede gorlist Nybegynder
20. februar 2002 - 18:42 #5
har selv fundet en plug-in til det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester