FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Eventos en componentes creados en tiempo de ejecucion
¿Como puedo asignar eventos a un boton creado en tiempo de ejecución?
Para crearlo utilizo el siguiente codigo extraido de las paginas del foro. Con el creo tanto botones como se le indique en el Tedit. El problema es que no se cuando se pulsa uno de esos botones. ¿Como puedo capturar el evento en dicho boton? Gracias por adelantado CODIGO procedure TForm1.Button1Click(Sender: TObject); var i, cont:Integer; p:TButton; begin cont := StrToInt(Edit1.Text); for i := 0 to (cont-1) do begin p := TButton.Create(Self); p.Left := (50 * i); p.Top := 0; p.Width:= 50; p.Height := 20; p.ParentWindow := Self.Panel1.Handle; p.Name := 'Button' + IntToStr(i+4); end; end; |
#2
|
||||
|
||||
En delphi ese tema es mas que sencillo, los eventos son "punteros" a procedimientos de objectos. Simplemente tienes que tener definido un procedimiento del tipo que requiera el evento, y asignarlo como cualquier propiedad:
http://www.clubdelphi.com/foros/showthread.php?t=979
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Perfecto,gracias, esto ya me soluciona un problema. Lo que quiero hacer es que en ese procedimiento asociado se muentren un valor asociado al label pulsado. Me explico, cada label creado sale de un campo de una tabla en la base de datos con muchos otros datos,y lo que quiero es que al pulsar un label asociado a un campo de un registro determinado, se muestre en el procedimiento otro campo pero del mismo registro que el label pulsado.
Mi tabla tiene por ejemplo dos campos, uno nombre y otro descripcion. Muesto todos los nombre que hay en la tabla en una columna de forma dinámica. Y quiero que al pulsar en nombre en concreto se me muestre en un único memo la descripcion asociada a ese nombre. Por tanto en el procedimiento tengo que asociar este campo al valor del memo, pero no se como obtener el valor del campo descripcion . Gracias. |
#4
|
||||
|
||||
Simplemente lanza una consulta:
Esto iría dentro del evento general de todos los labels, cuando se pulse uno determinado, se usa su caption para averiguar la descripción. En lugar del Memo, puedes usar un DBMemo asociado a esa consulta. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
|