Desenhar um TLabel na célula selecionada do TStringGrid.
Olá pessoal, preciso de uma ajuda para desenha um componente TLabel, dentro da coluna selecionada do TStringGrid.
Obrigado.
Obrigado.
Joaohenriquemf
Curtidas 0
Respostas
Fabianosales
09/06/2008
Declare uma variável para armazenar a coordenada da célula selecionada.
Atualize a variável no evento CellSelect
Desenhe uma cópia do controle na célula selecionada...
private { Private declarations } SelectedCell : TPoint;
Atualize a variável no evento CellSelect
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin SelectedCell.X := ACol; SelectedCell.Y := ARow; end;
Desenhe uma cópia do controle na célula selecionada...
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (ACol = SelectedCell.X) and (ARow = SelectedCell.Y) then begin BitBlt(StringGrid1.Canvas.Handle, Rect.Left, Rect.Top, Label1.Width, Label1.Height, Label1.Canvas.Handle,0,0, SRCCOPY); end; end;
GOSTEI 0
Fabianosales
09/06/2008
Ooops.
Favor considerar somente este trecho aqui. (Não consegi editar o post). :twisted:
Favor considerar somente este trecho aqui. (Não consegi editar o post). :twisted:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (ACol = SelectedCell.X) and (ARow = SelectedCell.Y) then begin BitBlt(StringGrid1.Canvas.Handle, Rect.Left, Rect.Top, Label1.Width, Label1.Height, Label1.Canvas.Handle,0,0, SRCCOPY); end; end;
GOSTEI 0