Sigo con el control TLabel con Efectos (Bautizado TLabelFX por binguen),
pero me apremia el tiempo y necesito aplicarlo a mi programa aunque no
tenga todas las funcionalidades, incluso aunque tenga que crearlos por
código y no visualmente, no me importa.
El problema surge al incluirlos en el programa, se ven bien pero el
control no es transparente por lo que el efecto que que quería conseguir
no me vale.
Ayuda: ¿Como hago para que el control sea transparente?
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Controles Transparentes
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Controles Transparentes
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Controles Transparentes
Vale; ya es transparente, pero demasiado transparente, no se ve el
contenido del control.
He estado hurgando en los controles que trae xailer "TLabel" y "TBevel"
que son transparentes, he visto que usan una funcion externa llamada
XWinControl_WMEraseBkgnd() (no tengo ni idea de donde sale, ni como
funciona) y he estado experimentando, pero no consigo que sea
transparente y ademas aparezca lo que yo pinto con canvas sobre el control.
El 19/04/2011 18:40, Pedro Amaro escribió:
> Sigo con el control TLabel con Efectos (Bautizado TLabelFX por binguen),
> pero me apremia el tiempo y necesito aplicarlo a mi programa aunque no
> tenga todas las funcionalidades, incluso aunque tenga que crearlos por
> código y no visualmente, no me importa.
>
> El problema surge al incluirlos en el programa, se ven bien pero el
> control no es transparente por lo que el efecto que que quería conseguir
> no me vale.
>
> Ayuda: ¿Como hago para que el control sea transparente?
--
contenido del control.
He estado hurgando en los controles que trae xailer "TLabel" y "TBevel"
que son transparentes, he visto que usan una funcion externa llamada
XWinControl_WMEraseBkgnd() (no tengo ni idea de donde sale, ni como
funciona) y he estado experimentando, pero no consigo que sea
transparente y ademas aparezca lo que yo pinto con canvas sobre el control.
El 19/04/2011 18:40, Pedro Amaro escribió:
> Sigo con el control TLabel con Efectos (Bautizado TLabelFX por binguen),
> pero me apremia el tiempo y necesito aplicarlo a mi programa aunque no
> tenga todas las funcionalidades, incluso aunque tenga que crearlos por
> código y no visualmente, no me importa.
>
> El problema surge al incluirlos en el programa, se ven bien pero el
> control no es transparente por lo que el efecto que que quería conseguir
> no me vale.
>
> Ayuda: ¿Como hago para que el control sea transparente?
--
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
Controles Transparentes
Pedro,
si estás haciendo el pintado desde C, llama a esta función al empezar a
pintar:
XA_DrawParentBackground( hWnd, hdc, NULL );
Y si el pintado lo estás haciendo desde PRG, entonces tendrás que hacer el
"wrapper", así:
XA_FUNC( XA_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
Y si no lo consigues, puedes enviarme la función de pintado para revisarla.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
si estás haciendo el pintado desde C, llama a esta función al empezar a
pintar:
XA_DrawParentBackground( hWnd, hdc, NULL );
Y si el pintado lo estás haciendo desde PRG, entonces tendrás que hacer el
"wrapper", así:
XA_FUNC( XA_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
Y si no lo consigues, puedes enviarme la función de pintado para revisarla.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Controles Transparentes
Vale, lo voy pillando.
Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
pintado, ¿que le pongo en los dos parámetros.?
El 20/04/2011 10:55, Jose F. Gimenez escribió:
> Pedro,
>
> si estás haciendo el pintado desde C, llama a esta función al empezar a
> pintar:
>
> XA_DrawParentBackground( hWnd, hdc, NULL );
>
> Y si el pintado lo estás haciendo desde PRG, entonces tendrás que hacer
> el "wrapper", así:
>
> XA_FUNC( XA_DRAWPARENTBACKGROUND )
> {
> XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ), NULL );
> hb_ret();
> }
>
>
> Y si no lo consigues, puedes enviarme la función de pintado para revisarla.
>
Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
pintado, ¿que le pongo en los dos parámetros.?
El 20/04/2011 10:55, Jose F. Gimenez escribió:
> Pedro,
>
> si estás haciendo el pintado desde C, llama a esta función al empezar a
> pintar:
>
> XA_DrawParentBackground( hWnd, hdc, NULL );
>
> Y si el pintado lo estás haciendo desde PRG, entonces tendrás que hacer
> el "wrapper", así:
>
> XA_FUNC( XA_DRAWPARENTBACKGROUND )
> {
> XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ), NULL );
> hb_ret();
> }
>
>
> Y si no lo consigues, puedes enviarme la función de pintado para revisarla.
>
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
Controles Transparentes
Pedro,
> Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
> pintado, ¿que le pongo en los dos parámetros.?
hWnd es el handle del control, o sea, ::Handle, y hdc es el "handle del
dispositivo de contexto" para pintar, y es el que estes usando en el resto
de comandos de pintado. En el caso de que estés pintando desde PRG usando el
"canvas", entonces el hdc es oCanvas:hdc
Resumiendo, si estás pintando desde PRG:
- hWnd: lo obtienes con ::Handle
- hdc: lo obtienes con oCanvas:hdc
Y si estás pintando desde C:
- hWnd: lo obtienes con:
PHB ITEM Self = hb_stackSelfItem();
HWND hWnd = GetHandleOf( Self );
- hdc: lo obtienes en la llamada a BeginPaint():
LPPAINTSTRUCT ps;
HDC hdc = BeginPaint( hWnd, ps );
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
> Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
> pintado, ¿que le pongo en los dos parámetros.?
hWnd es el handle del control, o sea, ::Handle, y hdc es el "handle del
dispositivo de contexto" para pintar, y es el que estes usando en el resto
de comandos de pintado. En el caso de que estés pintando desde PRG usando el
"canvas", entonces el hdc es oCanvas:hdc
Resumiendo, si estás pintando desde PRG:
- hWnd: lo obtienes con ::Handle
- hdc: lo obtienes con oCanvas:hdc
Y si estás pintando desde C:
- hWnd: lo obtienes con:
PHB ITEM Self = hb_stackSelfItem();
HWND hWnd = GetHandleOf( Self );
- hdc: lo obtienes en la llamada a BeginPaint():
LPPAINTSTRUCT ps;
HDC hdc = BeginPaint( hWnd, ps );
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Controles Transparentes
¡Chapo Maestro!, ha quedado perfecto.
Buen fin de semana
El 21/04/2011 12:54, Jose F. Gimenez escribió:
> Pedro,
>
>> Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
>> pintado, ¿que le pongo en los dos parámetros.?
>
> hWnd es el handle del control, o sea, ::Handle, y hdc es el "handle del
> dispositivo de contexto" para pintar, y es el que estes usando en el
> resto de comandos de pintado. En el caso de que estés pintando desde PRG
> usando el "canvas", entonces el hdc es oCanvas:hdc
>
> Resumiendo, si estás pintando desde PRG:
>
> - hWnd: lo obtienes con ::Handle
> - hdc: lo obtienes con oCanvas:hdc
>
> Y si estás pintando desde C:
>
> - hWnd: lo obtienes con:
> PHB ITEM Self = hb_stackSelfItem();
> HWND hWnd = GetHandleOf( Self );
>
> - hdc: lo obtienes en la llamada a BeginPaint():
> LPPAINTSTRUCT ps;
> HDC hdc = BeginPaint( hWnd, ps );
>
>
Buen fin de semana
El 21/04/2011 12:54, Jose F. Gimenez escribió:
> Pedro,
>
>> Pero en la llamada a XA_DRAWPARENTBACKGROUND que pongo en mi metodo de
>> pintado, ¿que le pongo en los dos parámetros.?
>
> hWnd es el handle del control, o sea, ::Handle, y hdc es el "handle del
> dispositivo de contexto" para pintar, y es el que estes usando en el
> resto de comandos de pintado. En el caso de que estés pintando desde PRG
> usando el "canvas", entonces el hdc es oCanvas:hdc
>
> Resumiendo, si estás pintando desde PRG:
>
> - hWnd: lo obtienes con ::Handle
> - hdc: lo obtienes con oCanvas:hdc
>
> Y si estás pintando desde C:
>
> - hWnd: lo obtienes con:
> PHB ITEM Self = hb_stackSelfItem();
> HWND hWnd = GetHandleOf( Self );
>
> - hdc: lo obtienes en la llamada a BeginPaint():
> LPPAINTSTRUCT ps;
> HDC hdc = BeginPaint( hWnd, ps );
>
>
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Controles Transparentes
Gracias a la ayuda del Maestro Jose Gimenez he conseguido que el control
TLabelFX sea transparente, y pueda aplicarlo a mi programa.
Les adjunto dos imágenes iguales del formulario principal, una con
TLabel y otra con TlabelFX.
Un saludo
Pedro Amaro
--
TLabelFX sea transparente, y pueda aplicarlo a mi programa.
Les adjunto dos imágenes iguales del formulario principal, una con
TLabel y otra con TlabelFX.
Un saludo
Pedro Amaro
--
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer