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 19-11-2008
jcarlos.matrix jcarlos.matrix is offline
Miembro
 
Registrado: may 2005
Ubicación: ensenada b.c.
Posts: 18
Poder: 0
jcarlos.matrix Va por buen camino
Question Liberar la memoria

que sucede cuando lo agregaste el boton en el stringgrid
pero como le haces para cambiar el color del boton ya despues de
creado.

lo que hize yo fue volverloa a crear en la misma posicion pero con
otro color pero resulta que cada vez que lo hago de nuevo. la memoria usada por el programita aumenta y eso no kiero..
lo que kiero es que se libere cada vez que lo vuelvo a crear en la mismas posicion gracias.
__________________
Se un buen lector y que la fuerza te acompañe
Responder Con Cita
  #2  
Antiguo 17-12-2008
jcarlos.matrix jcarlos.matrix is offline
Miembro
 
Registrado: may 2005
Ubicación: ensenada b.c.
Posts: 18
Poder: 0
jcarlos.matrix Va por buen camino
Question gracias. pero ya solucione el problema

ya pude solucionar el problema. solo tenia que hacer un destroy al boton creado y hacerle un nil despues.

ahora tengo otro problema resulta que creo varios botones pero cuando hago un resize al stringgrid se empalman los botones no hacen repaint. que hago.
gracias
__________________
Se un buen lector y que la fuerza te acompañe
Responder Con Cita
  #3  
Antiguo 05-10-2011
rojo raton rojo raton is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 16
Poder: 0
rojo raton Va por buen camino
Hola, recientemente he estado trabajando justamente en este asunto, lástima que el hilo de sea un poco antiguo pero igual no está de más responder esa última pregunta por las dudas alguien anda tambien haciendo lo mismo.....
Bueno, suponiendo que en tu formulario tenes un StringGrid y un BitBtn (ambos creados en tiempo de diseño) para que el boton se repinte en tu stringrid agregás esas dos lineas de código en el evento OnDrawCell de ese objeto y el boton toma la forma de la celda en el caso de que el usuario modifique el tamaño de la columna o fila del stringrid.


Código Delphi [-]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
       bitbtn1.Parent := StringGrid1;
       bitbtn1.BoundsRect:= StringGrid1.CellRect(2,3);
end;
Responder Con Cita
  #4  
Antiguo 25-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 exponer la forma como lo solucionaste una pregunta mas como accedes al evento click. Gracias!
Responder Con Cita
  #5  
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
al ser un boton creado en tiempo de ejecución tenés que asignarle el evento onclik en tiempo de ejecución tambien.
No se muy bien como es lo que intentás hacer pero te cuento como hice mi ejemplo. Tenía una grilla con varias columnas en un formulario y quería llenar una columna con botones. Entonces puse un boton en el formulario(en tiempo de diseño) le asigné un evento onclick.
Luego, en tiempo de ejecución creé los botones que sean necesarios para rellenar la columna del grid y le asigné el evento onclick (a cada uno de ellos) del primer boton que creé al principio.

algo así..
Código Delphi [-]
begin
   b:= Tbutton.create(nil) ;
   b.Onclik:= Button1.Onclick;// le asignas el evento q vos quieras.
   b.caption:= Button1.caption;
   ...
   ...
end;

Ese ejemplo es para solo 1 boton , luego tendrás seguramente más trabajo: arrays, listobjects, etc.
Espero que se haya entendido algo ..
Responder Con Cita
  #6  
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
  #7  
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
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 19:09:01.


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