Power Builder - ProgressBar Color

 
Vista:

ProgressBar Color

Publicado por Barzi (28 intervenciones) el 22/12/2005 03:44:54
Hola amigos PB encontre un ejemplo de como cambiar de color la barra de proceso (ProgressBar) en esta pagina:

http://www.onkenhout.speedlinq.nl

Dentro de esta pagina en la opcion:

PB Tips, eligo:

Changing the colors of a progressbar

Este es el codigo.. q se muestra para cambiar el color del progress

Constant Long WM_USER = 1024

Constant Long PBM_SETBARCOLOR = WM_USER + 9

Constant Long CCM_FIRST = 8192

Constant Long CCM_SETBKCOLOR = CCM_FIRST + 1



Send( Handle( <progressbar> ), PBM_SETBARCOLOR, 0, Rgb( 251, 230, 148 ) )
Send( Handle( <progressbar> ), CCM_SETBKCOLOR, 0, Rgb( 232, 127, 8 ) )

Lo que yo quiero es saber donde coloco ese codigo.. lo coloque en el boton q activa la barra de proceso y nada.. haber si alguien me ayuda 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:ProgressBar Color

Publicado por Jancarlo (890 intervenciones) el 22/12/2005 03:48:09
Las variables pueden ser de instancia y el resto del código en el vento donde activas el progress

Suerte !
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:ProgressBar Color

Publicado por Barzi (36 intervenciones) el 23/12/2005 01:03:35
Nada sigue igual.. gracias de todas maneras seguire chekeando..!
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:ProgressBar Color

Publicado por Oscar (1178 intervenciones) el 24/12/2005 20:55:36
Quizá te podría servir esta otra barra de progreso 3D a color, similar a la de Windows XP. La pbl está creada en PB 6.5.

* Para darle una mirada, ingresá a la página de unos chinitos:

http://www.pdriver.com/display.asp?key_id=1522

* Para bajarte la pbl (29 KB), puedes directamente desde:

www.pdriver.com/pb02/10/xp_progbar.zip

Para cambiar el color del progress bar, debes hacerlo con un editor grafico en la imagen que acompaña a la pbl.
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:ProgressBar Color

Publicado por Antonio (1271 intervenciones) el 26/12/2005 18:31:32
Hola Barzi:

Encontre la forma de aplicarlo...

Mira,

Coloca estas variables como variables de instancia:

Constant Long WM_USER = 1024
Constant Long PBM_SETBARCOLOR = WM_USER + 9
Constant Long CCM_FIRST = 8192
Constant Long CCM_SETBKCOLOR = CCM_FIRST + 1

Después en el evento open de la ventana donde se encuentra el objeto ProgressBar, pones el siguente código:

Nota:
En mi caso mi barra se llama "hpb_barra"

Send( Handle( hpb_barra ), PBM_SETBARCOLOR, 0, Rgb( 251, 230, 148 ) )
Send( Handle( hpb_barra ), CCM_SETBKCOLOR, 0, Rgb( 232, 127, 8 ) )

en tu caso pon el nombre de tu objeto de ProgessBar.

y cuando ejecutes tu código para ir avanzando la barra, éste cambiará el color.

Esta muy bien éste descubrimiento..

Suerte Amigo...
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

Iniciar ProgressBar Color

Publicado por Barzi (36 intervenciones) el 26/12/2005 23:39:42
Gracias Antonio, pero dime como hago para q inicie el proceso de la barra.. cual es el evento q hace q la barra inicie.. me puedes ayudar gracias de antemano.. y gracias por la ayuda anterior
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:Iniciar ProgressBar Color

Publicado por Jancarlo (2 intervenciones) el 27/12/2005 15:39:32
Hola...lo que Antonio te dio es para setear el color del progressbar..ahora es decisión tuya donde iniciar progressbar. Puedes hacer desde el evento Timer de la ventana o despues que ejecutes un proceso tipo bucle, es decir que esta dentro de un for ..to..next, un do...while, etc. En realidad el progressbar es un control visual q intenta decir al usuario q se esta ejecutando un proceso pero tu debes programar esos avances q da el progressbar.

progress_bar.position = progress_bar.position + 5

Espero me haya dejado entender...sino hazlo saber

Suerte !

PD: Si se te hace muy complicado xq no nos comentas que tratas de hacer para darte una solución más precisa.
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:Iniciar ProgressBar Color

Publicado por Barzi (36 intervenciones) el 27/12/2005 17:41:25
Gracias por su tiempo de verdad entendi lo que me escribieron.. gracias de verdad.. cualquier otro inconveniente que tenga.. estare escribiendo aca en el foro..

Saludos de Lima - Perú
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
sin imagen de perfil

RE:Iniciar ProgressBar Color

Publicado por Carlos Jose (14 intervenciones) el 14/06/2010 16:52:18
Solo por aclarar, en mi caso he tenido que desactivar el Windows Theme para que funcionara..

Primero como external global variable se tiene que declarar

Function Long SetWindowTheme( uLong hwnd, Ref String pszSubAppName, ref String pszSubIdList ) Library "UxTheme.dll" Alias for "SetWindowTheme"

Luego en el constructor de la barra de progreso.. justo antes de hacer el:
Send(handle(this),PBM_SETBARCOLOR, 0,ll_font )

deberemos ejecutar la siguiente llamada a la funcion de windows:
SetWindowTheme(handle(this),ls_app_empty, ls_win_empty)
donde ls_app_empty y ls_win_empty son dos variables vacias que requiere la funcion (http://msdn.microsoft.com/en-us/library/bb759827%28VS.85%29.aspx)

Espero que si alguno tiene el mismo problema que he tenido yo hoy, esto le valga de ayuda, por lo demas teneis que utilizar el codigo indicado por los demas colegas del foro!!!

Muchas gracias a todos!!!
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