Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Activar form endbgrid en renglon (https://www.clubdelphi.com/foros/showthread.php?t=76054)

eldonfsr 06-10-2011 04:06:25

Activar form endbgrid en renglon
 
Hola saludos a todos tengo aplicacion pequeña con 3 tablas, tengo la necesida de hacer una captura type mestro detalle para la una notaremision mas el catalogo de productos es muy extenso para desplegarlo en un dbloockcombobox asi que se me ocurrio poner un buttoen edit y llamarlo al momento de la captuar en la celda hats aqui todo bien el problema es que cuando doy click en el botton y activo una forma para seleccione o buscar en articulo la forma me la despliega en la posicion de deseño y yo quiero que se despliegue debajo del renglon donde estoy capturando en el dbgrid alguna idea o otra opcion que pueda solvetar esto.

gracias.
saludos a todos.

roman 06-10-2011 04:30:41

Sólamente tienes que ajustar las propiedades Left y Top del formulario para colocarlo donde quieras.

// Saludos

eldonfsr 07-10-2011 05:30:19

Buena Ide habia cambiado las propiedades
 
Bueno Roma es una buena idea pero el problema es como saber la posicion del renglon en la pantalla para pasar ese valor a Top de la nueva ventana.

DBGParts.CellRect(Column.Index+1,SQLQPartArt.RecNo+1);

me trae el cuadro de la column del Dbgird.

gracias, saludos.

ecfisa 07-10-2011 09:00:47

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

eldonfsr 16-10-2011 10:14:03

Funcionando
 
Mil Gracias amigo le batalle algo por las declaraciones y en donde ponerlas ya que como lo tengo es algo diferente pero despues de todo pude arreglarlo, faltan algunos detalles pero hay los voy corrigiendo o agregandoselos lo mas importante ya esta... gracas mil gracias....


saludos.
fernando


La franja horaria es GMT +2. Ahora son las 21:18:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi