Desenhar um TLabel na célula selecionada do TStringGrid.

09/06/2008

0

Olá pessoal, preciso de uma ajuda para desenha um componente TLabel, dentro da coluna selecionada do TStringGrid.

Obrigado.


Joaohenriquemf

Joaohenriquemf

Responder

Posts

10/06/2008

Fabianosales

Declare uma variável para armazenar a coordenada da 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;



Responder

10/06/2008

Fabianosales

Ooops.
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;



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar