Error en clase TBitmap

Error en clase TBitmap

Postby jmartial » Mon Mar 20, 2006 11:16 am

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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby Antonio Linares » Mon Mar 20, 2006 1:43 pm

Joaquín,

Prueba a cambiar el color del pixel 0, 0 del bitmap, ya que se usa para determinar el color transparente del bitmap.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jmartial » Mon Mar 20, 2006 5:20 pm

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
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 41 guests