Hola,
Hasta esta versión, lo siguiente se veía bien:
REDEFINE BITMAP ::oBitmap ID 114 OF ::oDlg RESOURCE "PDAFONDO"
En esta versión, se ve un recuadro blanco alrededor, por lo que le añadido la clausula TRANSPAREN y también he probado con oBmp:lTransparent := .T.
En los 2 casos me genera un error de ejecúción:
Error de argumento %
en TCONTROL:PAINT(0)
Mirando el código he visto que se produce aquí:
if ! ::lTransparent
FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
else
SetBrushOrgEx( ::hDC, 8 - ::nLeft() % 8, 8 - ::nTop() % 8 )
FillRect( ::hDC, GetClientRect( ::hWnd ), ::oWnd:oBrush:hBrush )
endif
¿Como se podría solucionar?
Un Saludo,
Joaquín
Error en clase TBitmap
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Antonio,
Eso no responde a que lTransparent := .T. da error y que ha .F. pone el bitmap transparente, siendo el efecto que se quiere conseguir precisamente el contrario.
No obstante, lo he solucionado de la siguiente manera:
::oBitmap:SetColor( , ::oFrame1:nClrPane )
Con esto ha tomado el color del control de fondo perfectamente.
Pero ahí dejo la duda, ¿por qué la clausula lTransparent funciona mal?
Un Saludo y gracias
Joaquín
Eso no responde a que lTransparent := .T. da error y que ha .F. pone el bitmap transparente, siendo el efecto que se quiere conseguir precisamente el contrario.
No obstante, lo he solucionado de la siguiente manera:
::oBitmap:SetColor( , ::oFrame1:nClrPane )
Con esto ha tomado el color del control de fondo perfectamente.
Pero ahí dejo la duda, ¿por qué la clausula lTransparent funciona mal?
Un Saludo y gracias
Joaquín