Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2012
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Hola rojo raton, gracias por responder, te comento lo que quiero hacer es simple solo que no se como organizar esta parte. La idea es en una columna del stringGrid, llenarla con un boton que referencie a un evento y poder eliminar esta fila con otros procesos adicionales:

Código Delphi [-]
...
  bitbtn1.Parent := sgcodigos;
  bitbtn1.Caption:= 'Quitar'+ sgcodigos.Cells[0,sgcodigos.Row];
  bitbtn1.Onclick:= bitbtn1.Onclick;
  bitbtn1.BoundsRect:= sgcodigos.CellRect(4,sgcodigos.Row);
...

Lo mas raro es que el boton que creo en tiempo de dise;o en el onclick le tengo un ShowMEssage("Algo"), pero no me muestra nada al hacer click. Que me hace falta. Una ayudita! jejeje
Responder Con Cita
  #2  
Antiguo 26-01-2012
rojo raton rojo raton is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 16
Poder: 0
rojo raton Va por buen camino
hay varias formas de eliminar una columna de un stringgrig.
a ver, fijate si te sirve esta:
http://www.clubdelphi.com/foros/showthread.php?t=39776

En tu caso, creo q antes de eliminarla deberías destruir los botones insertados en la columna, para que no queden en memoria, pa hacerlo más bonito digamos.
Responder Con Cita
  #3  
Antiguo 26-01-2012
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Hola, efectivamente ya tengo la funcion para eliminar la fila y lo hace lo que quiero es colocar un boton en la ultima columna por cada fila y que al presionar dicho boton le envie un parametro a mi funcion y elimine la fila. Actualmente debo hacer doble click y luego que la informacion se carga en los edits elimino la fila.
Responder Con Cita
  #4  
Antiguo 27-01-2012
rojo raton rojo raton is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 16
Poder: 0
rojo raton Va por buen camino
supongo que los botones insertados en la columna los ordenaste en una lista de objetos o similar (TobjectList). Ese objeto te permite saber el indice de un objeto de la lista con la función IndexOf(sender:Tobject) ; vos le mandas el boton como parametro y te devuleve su indice en la lista, y con ese indice ya tenés el numero de fila a borrar en el stringgrid.
Cuando el usuario presiona un boton en el stringgrid se dispara la siguiente función:
algo así:

Código Delphi [-]
var
  L:TobjectList;//en esta lista tendrías guardados y ordenados los botones de la columna.
procedure TForm.Button1Click(sender:TOBject);//evento del button1 creado en tiempo de diseño
var
 indice:word;
begin
    indice:= L.indexOF(sender);
    EliminarFila(indice,Stringgrid1);
end;
este evento se lo tendrás q asignar a cada botón q crees y agregues a la lista de objetos.
Responder Con Cita
  #5  
Antiguo 28-01-2012
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
rojo raton, gracias por tus aportes mi problema no esta en borrar sino en cuando se presione el boton realice el proceso, logre que lo(s) mostrara pero lo que no he podio es con el click para que usando se envie a un procedimiento o simplemente me muestre una ventana algo como un ShowMessage.... algo com insertar el evento ya he realizado un procediiento y esto es lo utlimo que hice.

Código Delphi [-]
var cont : integer;
...
while(Not EOF)do
begin
   btn := TButton.Create(nil);
   btn.Caption:= 'Quitar';
   btn.Width:= 87;
   btn.Parent:= sgcodigos;
   btn.BoundsRect:= sgcodigos.CellRect(4, cont);
   btn.OnClick := elclick;
   cont := cont + 1;
end;
.....
.....
procedure Tfproductos.elclick(Sender: TObject);
begin
   ShowMessage('Presiono Click')
end;
Responder Con Cita
  #6  
Antiguo 31-01-2012
rojo raton rojo raton is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 16
Poder: 0
rojo raton Va por buen camino
sin embargo a mi si me funca. Mirá lo que hice:
Coloqué 2 botones comunes en un formulario vacío, cortito el programa.
Te tendría q funcionar. sino ya es otro problema.

Código Delphi [-]
var
  Form1: TForm1;
  t:tbutton;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
    t:= tbutton.Create(nil);
    t.Parent:= form1;
    t.Height:= 20;
    t.Width:= 60;
    t.Left:= 50;
    t.Top:= 50;
    t.Caption:= 'prueba';
    t.OnClick:= button2click;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   showmessage('eureca!');
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  t.Free;
end;

end.
Responder Con Cita
  #7  
Antiguo 31-01-2012
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Efectivamente tu ejemplo funciona a la perfeccion pero sigue sin funcionarme el click de los botones incrustados en la grilla. A tu ejemplo agregue

Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
var i : integer;
begin
  for i := 1 to 9 do
  begin
    t           := TButton.Create(nil);
    t.Caption   := 'Quitar';
    t.Width     := 87;
    t.Name      := 'BT'+IntToStr(i);
    t.Parent    := StringGrid1;
    t.BoundsRect:= StringGrid1.CellRect(4, i);
    t.OnClick:= button2click;
    StringGrid1.RowCount := StringGrid1.RowCount + 1;
  end;
end;

Alguna otra idea?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
insertar imagen en un botón emiliu Varios 9 14-09-2012 23:32:09
Insertar Un Registro En Base De Datos Con Boton ghato168 PHP 14 01-08-2007 20:10:28
Insertar ub boton o panel en cada celda de un Stringgrid ingel Varios 1 20-07-2007 23:35:18
Insertar una imagen que funcione como boton gozi Conexión con bases de datos 2 05-12-2005 07:21:41
boton en StringGrid? miguel_fr OOP 2 17-06-2004 14:13:12


La franja horaria es GMT +2. Ahora son las 14:20:02.


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
Copyright 1996-2007 Club Delphi