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 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
  #2  
Antiguo 31-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 subzero.

Probá de este modo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
  ...
  procedure TForm1.FormShow(Sender: TObject);
  private
    procedure EventoClick(Sender: TObject);
    procedure CrearBotones(ACol: Integer);
    procedure BorrarColumna(ACol: Integer);
  public
  end;
...

implementation


procedure TForm1.EventoClick(Sender: TObject);
begin
  ShowMessage('Click en botón de StringGrid');
end;

(* Crear botones *)
procedure TForm1.CrearBotones(ACol: Integer);
var
  i: Integer;
  Btn: TButton;
begin
  for i := StringGrid1.FixedRows to StringGrid1.RowCount -1 do
  begin
    Btn           := TButton.Create(nil);
    Btn.Caption   := 'Quitar';
    Btn.Width     := 87;
    Btn.Name      := 'Button' + IntToStr(i);
    Btn.BoundsRect:= StringGrid1.CellRect(ACol, i);
    Btn.ControlStyle := [csClickEvents];
    Btn.OnClick   := EventoClick;
    Btn.Parent    := StringGrid1;
    StringGrid1.Objects[ACol,i] := Btn;
  end;
end;

(* Borrar columna *)
type
  TStringGridExt = class(Grids.TStringGrid);

procedure TForm1.BorrarColumna(ACol: Integer);
begin
  TStringGridExt(StringGrid1).DeleteColumn(ACol);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  ...
  CrearBotones(StringGrid1.RowCount-1);
end;

...
(* Liberar botones *)
procedure TForm1.FormDestroy(Sender: TObject);
var
  i: Integer;
begin
 for i := StringGrid1.FixedRows to StringGrid1.RowCount-1 do
    StringGrid1.Objects[StringGrid1.RowCount-1, i].Free;
end;

Llamada de ejemplo:
Código Delphi [-]
procedure TForm1.btBorrarClick(Sender: TObject);
begin
  BorrarColumna(1);
end;

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 31-01-2012 a las 23:09:41. Razón: Agregar comentario
Responder Con Cita
  #3  
Antiguo 01-02-2012
rounin rounin is offline
Miembro
 
Registrado: sep 2005
Posts: 43
Poder: 0
rounin Va por buen camino
Hola!

En principio hay la otra manera de hacer eso.
No usar las componentes, pero dibujar los
botones en células y procesar los eventos del raton y teclado.

Antiguamente he creado una pequeña librería de esto tipo basado en "FlyWeight" objetos.
(Solo uno objeto existe para todos los celulas del mismo tipo).

El adjunto contiene un ejemplo.
Archivos Adjuntos
Tipo de Archivo: zip SGrdBtn.zip (11,7 KB, 107 visitas)
Responder Con Cita
  #4  
Antiguo 09-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Crea un tema nuevo con tu duda, esto no ayuda a solucionar la duda de quien creó este hilo.
No olvides nuestra guía de estilo, gracias
Tampoco hace falta que pongas esas letras tan grandes, podemos leer las pequeñas también



Cita:
Empezado por genyus00 Ver Mensaje
Se que a pasado tiempo... pero como se hace en este ejemplo para posicionarnos por código en un fila que queramos, no por clic en la fila.
Responder Con Cita
  #5  
Antiguo 10-04-2016
genyus00 genyus00 is offline
Miembro
 
Registrado: jun 2010
Posts: 29
Poder: 0
genyus00 Va por buen camino
Talking

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Crea un tema nuevo con tu duda, esto no ayuda a solucionar la duda de quien creó este hilo.
No olvides nuestra guía de estilo, gracias
Tampoco hace falta que pongas esas letras tan grandes, podemos leer las pequeñas también
Para la persona que tiene la duda de como meter un botón en la stringrid, el ejemplo del .zip le va perfecto..
solo que tiene un error.
Responder Con Cita
  #6  
Antiguo 10-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola genyus00, es que el título de este hilo, la duda que tenía el usuario que lo creó, es "Insertar botón en stringgrid".
Debemos centrarnos en lo que ha pedido quien ha hecho la pregunta, y no contestarle algo que él no ha preguntado.
Si tú tienes una duda, debes crear un tema nuevo para que todos lo vean y puedan ayudarte.
No olvides nuestra guía de estilo, gracias


Cita:
Empezado por genyus00 Ver Mensaje
Para la persona que tiene la duda de como meter un botón en la stringrid, el ejemplo del .zip le va perfecto..
solo que tiene un error.
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 15:48:26.


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