Como saber o TRect de uma célula do dbGrid?
20/02/2006
0
Pabhen
Posts
21/02/2006
Pabhen
achei uma dica aki mesmo no forum no link http://forum.clubedelphi.net/viewtopic.php?t=21060
que diz pra declarar um tipo
TAccessDBGrid = class(TCustomGrid);
depois você poderá usar esta classe para acessar propriedades protegidas do DBGrid.
aí usei o seguinte código:
// Trecho do código
var
R: TRect;
col, lin: integer;
begin
col := TAccesDbgrid(dbGrid).Col;
lin := TAccesDbgrid(dbgGrid).Row + 1;
R := TAccesDbgrid(dbGrid).CellRect(col, lin);
R.Left := R.Left + dbgGrid.Left;
R.Right := R.Right + dbgGrid.Left;
R.Top := R.Top + dbgGrid.Top;
R.Bottom := R.Bottom + dbgGrid.Top;
jvceTotalPago.Left := R.Left + 1;
jvceTotalPago.Top := R.Top + 1;
jvceTotalPago.Width := (R.Right + 1) - R.Left;
jvceTotalPago.Height := (R.Bottom + 1) - R.Top;
// fim do trecho
como dá pra perceber, eu criei esse código pra criar um artifício técnico (popularmente conhecido como um ´jeiteinho´), pra sobrepor a celula selecionada com um edit q contem uma calculadora da biblioteca JVCL.
O usuário precisava de somar vários boletos fora do sistema pra depois lançar o valor na celula do grid, assim eu ´engano´ o usuário com esse componente, ele vai somando os boletos no sistema e o total é lançado no grid.
Espero q essa dica sirva pra mais alguem q keira posicionar algum outro componente de sua necessidade numa célula especifica do grid.
flw.
21/02/2006
Aloizio Castro
:arrow: Vc simplesmente fez isto: [i:05c1a47ed5] TAccesDbGrid = TCustomGrid;[/i:05c1a47ed5], naum foi preciso rescrever nenhum metodo :?: :?:
No meu naum deu certo :!:
21/02/2006
Pabhen
TAccesDbGrid = TCustomGrid;
eu declarei logo abaixo do
public
{ Public declarations }
end;
-->> TAccesDbGrid = TCustomGrid;
e o resto do código eu declarei no evento OnColEnter do dbgrid, blz.
qualquer coisa tamos aí.
Clique aqui para fazer login e interagir na Comunidade :)