Ver Mensaje Individual
  #4  
Antiguo 07-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Algo que se me ocurrió es:
Código Delphi [-]
type
  TDBGridExt = class(TDBGrid);

procedure PosicionarForm(AGrid: TDBGrid; AFormClass: TFormClass);
var
  i,L: Integer;
  P: TPoint;
begin
  with TDBGridExt(AGrid) do
  begin
    L:= ColWidths[0];
    for i:= 1 to Col-1 do L:= L + ColWidths[i];
    P.X:= L + 4;     // + 4 por que me gusta más... 
    P.Y:= RowHeights[0] + Row * DefaultRowHeight + 4;
    P:= ClientToScreen(P);
    with AFormClass.Create(Application) do
    try
      Left:= P.X;
      Top:=  P.Y;
      ShowModal;
    finally
      Free;
    end;
  end;
end;

Llamada:
Código Delphi [-]
    PosicionarForm(DBGrid1, TForm2);
Pero si hay una mejor manera de hacerlo, sin dudas que román la conocerá.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-10-2011 a las 09:05:07.
Responder Con Cita