Power Builder - Ventana Transparente

 
Vista:
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Ventana Transparente

Publicado por Antonio (1271 intervenciones) el 21/06/2003 06:08:31
Hola a todos:

Dentro de este foro encontre un ejemplo (aparentemente) de como hacer una ventana de PB transparente, pero no pude abrir el código ya que tengo PB 7.0 y parece estar en una versión mayor.

Mi pregunta es la siguiente: alguno de ustedes sabe como crear una ventana transparente de PowerBuilder ?... es decir, quiero poner una imágen en una ventana de PB (ya sea bitmap, jpg ó gif) y que solo se vea la imágen sin que se pueda ver la ventana donde esta colocada la imágen.

Me imagino que debe ser a través de una API...

Se los agradecería muchísimo.

Atte.
Antonio
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:Ventana Transparente

Publicado por Oscar (1178 intervenciones) el 21/06/2003 19:57:56
Para tu deseo, de colocar una imagen encima de una ventana "invisible", puedes hacer lo siguiente:

1. En tiempo de diseño creas una ventana del tipo popup!. Luego desactivas su propiedad TitleBar y si quieres también descativas Border.
2. Insertas a la ventana un control picture (tratá de tapar a la ventana).
3. En el evento open de la ventana escribes:
p_1.PictureMame="milogo.jpg"

Nota:
* Al ejecutar la ventana, si observas que sobresale un borde de la misma. Volvé a vista diseño y disminuí las propiedades: Width o Height de la ventana.
* Si quieres que la imagen se estiré según el tamaño de la ventana, primero desactivá la propiedad OriginalSize del picture control. Luego en el evento open de la ventana, tendrías que escribir:
p_1.picturename="milogo.bmp"
p_1.width = this.width
p_1.height = this.height

Adivino que estás tratando mostrar una ventana de bienvenida en tu aplicación (la misma que todos nosotros observamos al ingresar a PB). Si esa sí, te recuerdo que el script que puedes usar en el evento open de tu aplicación es:

//Abre la ventana de Bienvenida
open(w_invisible)
// Inicializando el objeto de transacción
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
etc.
//Abre la ventana principal
open(w_principal)

//Cierra la ventana de Bienvenida
close(w_invisible)

Espero te sirva...
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
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:Ventana Transparente ... MIL GRACIAS

Publicado por Antonio (1271 intervenciones) el 22/06/2003 01:05:23
Mil Gracias OSCAR:

Me sirvio de mucho y se ve bien, pero lo que intento hacer es poner una imágen de diferentes formas geométricas (Cuadradas, triangulares, circulares, etc).

Nuevamente gracias
Antonio
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

quizas esto te sirva

Publicado por amilcar (327 intervenciones) el 22/06/2003 02:41:01
hay un api que te permite hacer algunos efectos en la ventana, uno de ellos es de transparencia pero no lo he probado aun, si he probado los otros y funcionan

en global external function va
Function boolean AnimateWindow(long lhWnd, long lTm, long lFlags ) library 'user32'

en el evento open dela ventana tenes que poner esto
// Anima la ventana de izquierda a derecha
//Constant long AW_HOR_POSITIVO = 1
//// Anima la ventana de derecha a izquierda
//Constant long AW_HOR_NEGATIVO = 2
//// Anima la ventana de arriba hacia abajo
//Constant long AW_VER_POSITIVO = 4
//// Anima la ventana de abajo hacia arriba
//Constant long AW_VER_NEGATIVO = 8
//// Anima la ventana haciéndola que aparezca del centro hacia los lados
Constant long AW_CENTRO = 16
//// Oculta la ventana
//Constant long AW_OCULTA = 65536
//// Activa la ventana
//Constant long AW_ACTIVA = 131072
//// Usa la animación de tipo diapositivas
//Constant long AW_DIAP = 262144
//// Usa la animación con efecto de transparencia
Constant long AW_TRANS = 524288
//
AnimateWindow( Handle( this ),250,AW_CENTRO)
this.setredraw(true)

en este ejemplo abro la ventana desde el centro hacia afuera, vos elegis el efecto que mas te gusta, el nº 250 represente el tiempo del efecto, variando este veras las diferencias

espero que te sirva. me gustaria saber como te fue.
un saludo desde argentina
amilcar
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
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Gracias ALMICAR

Publicado por Antonio (1271 intervenciones) el 22/06/2003 03:26:18
En verdad son muy buenos los efectos pero aún no consigo el efecto que busco...

Mil, Mil gracias...

Antonio
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:Gracias ALMICAR

Publicado por amilcar (327 intervenciones) el 23/06/2003 12:16:03
si encuentras alguna forma de hacer ventanas no convencionales o algun efecto diferente te agradeceria me lo hagas llegar.
gracias
un saludo desde argentina
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