Power Builder - Objeto commandbutton

   
Vista:

Objeto commandbutton

Publicado por Rogger (1 intervención) el 27/08/2008 03:21:44
Buen dia a todos los foristas, agradesco por antisipado su ayuda.

Yo estoy instanciando commandbutton’s teniendo en cuenta la cantidad de registros de un datawindow de la siguiente manera.

long n
for n = 1 to dw_1.rowcount()
cb_prueba = create commandbutton
OpenUserObject(cb_prueba)
cb_prueba.height = dw_1.getitemnumber(n, "alto")
cb_prueba.width = dw_1.getitemnumber(n, "ancho")
cb_prueba.x = dw_1.getitemnumber(n, "x")
cb_prueba.y = dw_1.getitemnumber(n, "y")
cb_prueba.visible = TRUE
cb_prueba.enabled = TRUE
cb_prueba.text = string(dw_1.getitemnumber(n, "n_meza"))
next


Se crearon dos commandbutton’s por que tengo dos registros, como podran notar mi dw tiene los siguientes campos: n_meza, x, y, alto, ancho.

Ahora quiero programar cada uno de estos commandbutton’s, donde lo debo hacerlo y como diferencio uno del otro.

Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Objeto commandbutton

Publicado por Pedro Gonzalvo Escribano (6 intervenciones) el 27/08/2008 11:59:28
Puedes crear una matriz de commandbuttons y designas cada uno como cb_prueba[n]:

commandbutton cb_prueba[2]
long n
for n = 1 to dw_1.rowcount()
cb_prueba[n] = create commandbutton
OpenUserObject(cb_prueba[n])
cb_prueba[n].height = dw_1.getitemnumber(n, "alto")
// resto del script
next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Objeto commandbutton

Publicado por Pedro Gonzalvo Escribano (6 intervenciones) el 02/09/2008 19:26:54
En mi anterior post, sólo te indicaba como puedes diferenciar un botón de otro, creando un array de n commandbuttons, tantos como necesites.

Programar cada uno de estos commandbutton’s es un asunto más delicado porque no tengo constancia de que se pueda generar dinámicamente las scripts de los eventos en tiempo de ejecución.

Un workaround es crear los commandbuttons partiendo de un botón invisible al que se le incluye el código de cada uno de los eventos, .

Por ejemplo, en el caso más sencillo, creo con el window painter el commandbutton cb_command y escribo en el evento Clicked:
MessageBox("Soy el CB", Text)

La matriz de commandbuttons se crea usando el botón anteriormente creado:

cb_command cb_prueba[2]
long n
for n = 1 to dw_1.rowcount()
cb_prueba[n] = create using "cb_command"
OpenUserObject(cb_prueba[n])
cb_prueba[n].height = dw_1.getitemnumber(n, "alto")
// resto del script
next

Ahora al clickar un boton saldrá su texto programado.

Espero haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar