Página 1 de 1

Pintar un BMP cargado sobre un Bevel

Publicado: Jue May 24, 2012 9:39 am
por Shadax
Buenos dí­as a todos.
Estoy tratando de pintar una imagen que tengo en un fichero en un Bevel utilizando TCanvas. La idea es que el Bevel sea algo así­ como el lienzo. Mi código es éste, pero no parece cargar nada:

IF File( Application:cDirectory + cFichero )
WITH OBJECT oImagen := TImage():Create( Self )
:oPicture := Application:cDirectory + cFichero
end
WITH OBJECT TCanvas()
:nMapMode := mmHIMETRICS
:DrawPicture( {::oBvlArea:nLeft, ::oBvlArea:nTop, ::oBvlArea:nWidth, ::oBvlArea:nHeight}, oImagen )
END
ENDIF

Supongo que me he colado en un montón de cosas... Voy desencaminado?
Gracias de antemano y un saludo.

Pintar un BMP cargado sobre un Bevel

Publicado: Jue May 24, 2012 10:54 am
por jfgimenez
Joan Ramón,
todas las operaciones de pintado se tienen que hacer en el evento
OnPaint o desde el método WMPaint() del control. En el código que
muestras no se ve eso, y además parece que estás creando un control
TImage, que no tiene nada que ver con TBevel.
Por otro lado, ¿has visto las novedades respecto a las imágenes de fondo
de los controles? Te lo digo porque ahora hay muchas más posibilidades
que antes, y seguramente te servirán para hacer lo que quieres sin
necesidad de hacer tú el pintado. Revisa las propiedades nBkgndMode
(nuevos modos), nBkgndMarginX, nBkgndMarginY, nGradient y nClrPaneEnd
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Pintar un BMP cargado sobre un Bevel

Publicado: Jue May 24, 2012 11:53 am
por Shadax
Gracias por la celeridad en tu respuesta; Voy a echarle un ojo a todo esto del pintado. En este tema estoy verde, verde...