SET BACKGROUND IN WINDOW
Moderator: Rathinagiri
- srvet_claudio
- Posts: 2193
- Joined: Thu Feb 25, 2010 8:43 pm
- Location: Uruguay
- Contact:
SET BACKGROUND IN WINDOW
Hola a todos,
les dejo un par de comandos que desarrolle para asignar imagenes BMP como fondo de las ventanas sin que interfiera con
la visualizacion/funcionamiento de los controles que aparecen en la misma, espero que les sea de utilidad.
Saludos,
Claudio Soto
***************************************************************************************************
* Incluir el archivo de cabecera SetBkWin.CH
* #include <SetBkWin.ch>
*
* SINTAXIS:
*
* SET BACKGROUND IN WINDOW <cWindowName> FILE <cFile_bmp> TRANSPARENT <lTransp> MODE <nModo_copy>
* ERASE BACKGROUND IN WINDOW <cWindowName>
*
*
* Parametros para MODE <nModo_copy>
*
* #define BMP_ERASE 0 // Borra la imagen de fondo de la ventana
* #define BMP_COPY_NOSCALE 1 // Pega la imagen al fondo con el tamaño original de la misma
* #define BMP_COPY_SCALE 2 // Ajusta proporcionalmente la imagen para que se vea completa en la ventana
* #define BMP_COPY_STRETCH 3 // Ajusta el tamaño de la imagen al tamaño de la ventana
*
*
* EJEMPLOS:
*
* Carga un archivo .bmp
* SET BACKGROUND IN WINDOW "ventana_1" FILE "cow_book.bmp" TRANSPARENT .F. MODE BMP_COPY_SCALE
*
* Carga un imagen .bmp que esta en los recursos
* SET BACKGROUND IN WINDOW "ventana_1" FILE "sami_res" TRANSPARENT .F. MODE BMP_COPY_NOSCALE
*
* Borra el fondo de la ventana
* ERASE BACKGROUND IN WINDOW "ventana_1"
*
*-------------------------------------------------------------------------------------------------
*
* ATENCCION:
*
*
* Para un correcto funcionamiento es impresindible asignarle al ON INIT y ON RELEASE de la ventana
* las siguientes funciones:
*
* ON INIT SetBackgroundWin_Init ()
* ON RELEASE SetBackgroundWin_End ()
*
* Si ya se ha asignado alguna otra funcion a estos eventos deben encadenarse, ej.
* ON INIT {|| SetBackgroundWin_Init (), Otra_Funcion ()}
***************************************************************************************************
AGREGADO: 26 Marzo 2010, 3:27 pm
Mas abajo postee una versión que corrige un pequeño error encontrado en SET_BK_WIN.rar reportado por Luis Vasquez.
Mil disculpas,
Claudio Soto
les dejo un par de comandos que desarrolle para asignar imagenes BMP como fondo de las ventanas sin que interfiera con
la visualizacion/funcionamiento de los controles que aparecen en la misma, espero que les sea de utilidad.
Saludos,
Claudio Soto
***************************************************************************************************
* Incluir el archivo de cabecera SetBkWin.CH
* #include <SetBkWin.ch>
*
* SINTAXIS:
*
* SET BACKGROUND IN WINDOW <cWindowName> FILE <cFile_bmp> TRANSPARENT <lTransp> MODE <nModo_copy>
* ERASE BACKGROUND IN WINDOW <cWindowName>
*
*
* Parametros para MODE <nModo_copy>
*
* #define BMP_ERASE 0 // Borra la imagen de fondo de la ventana
* #define BMP_COPY_NOSCALE 1 // Pega la imagen al fondo con el tamaño original de la misma
* #define BMP_COPY_SCALE 2 // Ajusta proporcionalmente la imagen para que se vea completa en la ventana
* #define BMP_COPY_STRETCH 3 // Ajusta el tamaño de la imagen al tamaño de la ventana
*
*
* EJEMPLOS:
*
* Carga un archivo .bmp
* SET BACKGROUND IN WINDOW "ventana_1" FILE "cow_book.bmp" TRANSPARENT .F. MODE BMP_COPY_SCALE
*
* Carga un imagen .bmp que esta en los recursos
* SET BACKGROUND IN WINDOW "ventana_1" FILE "sami_res" TRANSPARENT .F. MODE BMP_COPY_NOSCALE
*
* Borra el fondo de la ventana
* ERASE BACKGROUND IN WINDOW "ventana_1"
*
*-------------------------------------------------------------------------------------------------
*
* ATENCCION:
*
*
* Para un correcto funcionamiento es impresindible asignarle al ON INIT y ON RELEASE de la ventana
* las siguientes funciones:
*
* ON INIT SetBackgroundWin_Init ()
* ON RELEASE SetBackgroundWin_End ()
*
* Si ya se ha asignado alguna otra funcion a estos eventos deben encadenarse, ej.
* ON INIT {|| SetBackgroundWin_Init (), Otra_Funcion ()}
***************************************************************************************************
AGREGADO: 26 Marzo 2010, 3:27 pm
Mas abajo postee una versión que corrige un pequeño error encontrado en SET_BK_WIN.rar reportado por Luis Vasquez.
Mil disculpas,
Claudio Soto
- Attachments
-
- SET_BK_WIN.rar
- (1.22 MiB) Downloaded 476 times
Last edited by srvet_claudio on Fri Mar 26, 2010 3:28 pm, edited 2 times in total.
Re: SET BACKGROUND IN WINDOW
HI friend.
Thanks Claudio for share this nice function with us.
My best regards,
Thanks Claudio for share this nice function with us.
My best regards,
- Rathinagiri
- Posts: 5471
- Joined: Tue Jul 29, 2008 6:30 pm
- DBs Used: MariaDB, SQLite, SQLCipher and MySQL
- Location: Sivakasi, India
- Contact:
Re: SET BACKGROUND IN WINDOW
Nice contribution Claudio.
Definitely useful for me. Thanks a lot.
Definitely useful for me. Thanks a lot.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
South or North HMG is worth.
...the possibilities are endless.
- mustafa
- Posts: 1162
- Joined: Fri Mar 20, 2009 11:38 am
- DBs Used: DBF
- Location: Alicante - Spain
- Contact:
Re: SET BACKGROUND IN WINDOW
Hola Claudio
Tu código , está muy logrado,
gracias por compartir, cada día
se aprende algo nuevo.
Un Abrazo
Mustafa
Tu código , está muy logrado,
gracias por compartir, cada día
se aprende algo nuevo.
Un Abrazo
Mustafa
Re: SET BACKGROUND IN WINDOW
Gracias Claudio !!!srvet_claudio wrote:Hola a todos,
les dejo un par de comandos que desarrolle para asignar imagenes BMP como fondo de las ventanas sin que interfiera con
la visualizacion/funcionamiento de los controles que aparecen en la misma, espero que les sea de utilidad.
Saludos,
Claudio Soto
Son bienvenidas.
Saludos, Fernando Chirico.
- srvet_claudio
- Posts: 2193
- Joined: Thu Feb 25, 2010 8:43 pm
- Location: Uruguay
- Contact:
Re: SET BACKGROUND IN WINDOW
Gracias Paulo Sérgio, Rathinagiri, Mustafa y Fernando por sus comentarios.
Un saludo cordial a todos,
Claudio
Un saludo cordial a todos,
Claudio
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: SET BACKGROUND IN WINDOW
Hola Claudio,
genial la rutina, un gran aporte.
Hay un problema con el tamaño de la imagen, al maximizar la ventana y cambiar el fondo, no cubre todo el fondo sino que queda con el ancho menor al actual de la ventana y muestra la imagen anterior.
gracias por tu aporte.
saludos cordiales,
Luis Vasquez
genial la rutina, un gran aporte.
Hay un problema con el tamaño de la imagen, al maximizar la ventana y cambiar el fondo, no cubre todo el fondo sino que queda con el ancho menor al actual de la ventana y muestra la imagen anterior.
gracias por tu aporte.
saludos cordiales,
Luis Vasquez
- srvet_claudio
- Posts: 2193
- Joined: Thu Feb 25, 2010 8:43 pm
- Location: Uruguay
- Contact:
Re: SET BACKGROUND IN WINDOW
Gracias Luis por el aviso.luisvasquezcl wrote:Hola Claudio,
genial la rutina, un gran aporte.
Hay un problema con el tamaño de la imagen, al maximizar la ventana y cambiar el fondo, no cubre todo el fondo sino que queda con el ancho menor al actual de la ventana y muestra la imagen anterior.
gracias por tu aporte.
saludos cordiales,
Luis Vasquez
Problema SOLUCIONADO!!!
Adjunto la versión corregida (me olvide de borrar el fondo anterior antes de asignar un nuevo fondo).
Al maximizar la ventana y cambiar el fondo, la imagen del gato no cubre toda la superficie de la ventana porque
use en el ejemplo la opción de pintado BMP_COPY_NOSCALE y la imagen del gato es mas pequeña que la ventana maximizada.
La imagen de la vaca cubre toda la ventana porque use la opción BMP_COPY_STRETCH.
#define BMP_COPY_NOSCALE 1 // Pega la imagen al fondo con el tamaño original de la misma
#define BMP_COPY_SCALE 2 // Ajusta proporcionalmente la imagen para que se vea completa en la ventana
#define BMP_COPY_STRETCH 3 // Ajusta el tamaño de la imagen al tamaño de la ventana
Un saludo cordial,
Claudio Soto.
- Attachments
-
- SET_BK_WIN_corregido.rar
- (1.22 MiB) Downloaded 427 times
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: SET BACKGROUND IN WINDOW
excelente Claudio,
mis felicitaciones por tu aporte.
saludos cordiales,
Luis Vasquez.
mis felicitaciones por tu aporte.
saludos cordiales,
Luis Vasquez.
- srvet_claudio
- Posts: 2193
- Joined: Thu Feb 25, 2010 8:43 pm
- Location: Uruguay
- Contact:
Re: SET BACKGROUND IN WINDOW
Gracias Luis,
un abrazo
Claudio
un abrazo
Claudio