GuiCorTei Postado Fevereiro 11, 2011 Denunciar Share Postado Fevereiro 11, 2011 O StringGrid, por Default possui a cor da seleção da célula como AZUL...tem como mudar para verde??não quero pintar o FUNDO da celula, quero pintar o quadrado que fica em cima, quero pintar a SELECÃO, exemplo:é possível? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 11, 2011 Denunciar Share Postado Fevereiro 11, 2011 mude a propriedade FixedColor do StringGrid para clYellow ou outra cor que quiserabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuiCorTei Postado Fevereiro 11, 2011 Autor Denunciar Share Postado Fevereiro 11, 2011 mude a propriedade FixedColor do StringGrid para clYellow ou outra cor que quiserabraçoisso só pinta as colunas FIXED, e também só se a propriedade DrawingStyle estiver em gdsClassico que eu quero é pintar esse quadrado azul para verde, que significa a SELEÇÃO DA CELULA Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 11, 2011 Denunciar Share Postado Fevereiro 11, 2011 exemplo:OBS: voce deve mudar o código para a sua necessidadeunit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure StringGrid1DrawCell(Sender: TObject; Col, Row:Longint;Rect: TRect; State: TGridDrawState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row:Longint;Rect: TRect; State: TGridDrawState); {***} procedure DrawCellText; var Text: array[0..255] of Char; begin StrPCopy( Text, StringGrid1.Cells[ Col, Row ] ); ExtTextOut( StringGrid1.Canvas.Handle, Rect.Left + 2, Rect.Top + 2, ETO_CLIPPED or ETO_OPAQUE, @Rect, Text, StrLen( Text ), nil ); end; {***} procedure DrawCellColor( CorFundo, CorLetra : TColor ); var S1, S2 : TColor; begin with StringGrid1.Canvas do begin S1 := Brush.Color; S2 := Font.Color; try {pinta o fundo com a cor desejada} Brush.Color := CorFundo; FillRect( Rect ); {pinta as letras com a cor desejada} Font.Color := CorLetra; DrawCellText; finally {restaura as cores} Brush.Color := S1; Font.Color := S2; end;{try} end;{with} end; {***} begin if ( Row = 2 ) and ( Col = 3 ) then DrawCellColor( clYellow, clWindowText ); end; end.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuiCorTei Postado Fevereiro 14, 2011 Autor Denunciar Share Postado Fevereiro 14, 2011 nada ver...não quero pintar o FUNDO da celula, quero pintar o quadrado que fica em cima, quero pintar a SELECÃO, exemplo: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gustavo_Sid Postado Fevereiro 14, 2011 Denunciar Share Postado Fevereiro 14, 2011 Olá amigo.Digite isso no evento OnDrawCell do StringGrid:procedure TForm1.gradeDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);begin if gdSelected in State then grade.Canvas.Brush.Color:= clGreen; //Aqui você coloca a cor de desejar. grade.Canvas.FillRect(Rect); // redesenha a celula grade.Canvas.TextOut(Rect.Left+3,Rect.Top+2,grade.Cells[acol,arow]);end;Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuiCorTei Postado Fevereiro 16, 2011 Autor Denunciar Share Postado Fevereiro 16, 2011 acho que o que eu desejo está na ordem da Edição de Componentes...pois eu não desejo pintar o fundo da celula, não quero a celula pintada OPACAMENTE...eu queria mudar o DESENHO AZUL, da seleção, que é com os cantos arredondados e com um efeito meio degrade, para a cor verde, mas acho q o componente não possui essa opção...mas esse DESENHO AZUL, deve estar em algum lugar no arquivo que corresponde ao componente TStringGrid que é integrado ao Delphi....como eu posso edita-lo, e mudar o DESENHO AZUL?... e colocar por exemplo, uma foto com degrade, no lugar???ou como posso criar outro componente com base no Tstringgrid? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 16, 2011 Denunciar Share Postado Fevereiro 16, 2011 veja a partir do capitulo 6 dessa apostilahttp://www.matorres.com.br/portal/index.ph...s&Itemid=54abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuiCorTei Postado Fevereiro 16, 2011 Autor Denunciar Share Postado Fevereiro 16, 2011 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 16, 2011 Denunciar Share Postado Fevereiro 16, 2011 o que voce esta querendo, somente se voce criar o seu proprio componente derivado do stringgridpor isso passei a apostila ... lá ensina como modificar as propriedades do componenteOBS: se voce estiver usando skin o stringgrid vai ficar com a cor padrãovoce pode procurar por um componente com essa propriedadehttp://www.torry.net/pages.php?s=73abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
GuiCorTei
O StringGrid, por Default possui a cor da seleção da célula como AZUL...
tem como mudar para verde??
não quero pintar o FUNDO da celula, quero pintar o quadrado que fica em cima, quero pintar a SELECÃO, exemplo:
é possível?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.