Dibujar Linea al hacer clic en DataWindow

Tengo una ventana que contiene varias Datawindows, yo quisiera saber como podría hacer para mostrar que datawindow esta activa cuando el usuario hace un clic.

Mi idea era dibujar una linea o recuadro sobre cada DataWindow y que se active cuando se hace clic sobre cada una de ellas. Es decir que quede solamente resaltada la ultima datawindow en la cual se le hizo un clic.

Respuesta
1

En vez d crear un objeto dinámicamente, por qué mejor no lo creas en tiempo d diseño, lo pones invisible y cuando le das clic sólo cambias el valor visible de false a true, obviamente false para el resto de dw.

por ejemplo... si tienes 3 dw's.

- Click en dw1

dw1.modify("r_1.visible='1'")

dw1.modify("r_2.visible='0'")

dw1.modify("r_3.visible='0'")

Cambias en cada evento clicked de tu dw por el dw que se debe de mostrar el recuadro.

Pero si deseas crear un recuadro en tiempo de ejecución, este es el código.

adw_data.Modify( & "create rectangle(band=detail por='"+ls_por+"' y='"+ls_y+"' height='"+ls_h+"' width='"+ls_w+"' name="+ls_name +" visible='1'" + & " brush.hatch='7' brush.color='16777215' pen.style='0' pen.width='1' pen.color='8421376'" + & " background.mode='2' background.color='16777215' background.transparency='0'" + & " background.gradient.color='8421504' background.gradient.transparency='0' background.gradient.angle='0')")

Si te das cuenta, tienes que calcular sus dimensiones, por eos te recomiendo que lo trabajes con visible (true o false)

Y si quisiera cambiar el color de fondo de la datawindow al hacer clic, seria mas complejo?

Gracias

Fondo rojo:

Con rgb:

dw.Modify("DataWindow.Color='"+string(rgb(255,0,0))+"'")

con el valor long:

dw.Modify("DataWindow.Color='255'")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas