Page 1 of 1

Cmbio fondo ventana principal

Posted: Thu Mar 16, 2006 8:56 pm
by Manuel Valdenebro
Tengo una aplicación, donde la ventana principal tiene un fondo. Me funciona correctamente y lo tengo definido de la manera mas clásica y sencilla:

@ 1, 0 BITMAP oBmp FILE "fuengi.bmp" OF oWnd ;
SIZE 800,495 ADJUST

Necesito ahora cambiar el fondo de esta ventana, dependiendo del usuario que lo use.- Lo he intentado de varias maneras con UPDATE y REFRESH, pero no consigo echarlo andar.

¿Alguna idea?

Un saludo

Manuel

Posted: Thu Mar 16, 2006 10:01 pm
by Antonio Linares
Manuel,

Has probado a hacer oBmp:LoadBMP( cBmpFile ) ?

Posted: Fri Mar 17, 2006 7:37 pm
by Manuel Valdenebro
Antonio,

Te explico mas detalladamente:


STATIC oWnd
static cTitle
static cBitmap
FUNCTION MAIN
......
cBitmap := "fuengi.bmp"
.....

ACTIVATE WINDOW oWnd MAXIMIZED ;
ON PAINT PAINTWIN(oWnd)

///
/// una funcion para poner el BMP segun resolucion pantalla
///
STATIC FUNC PAINTWIN(oWnd)
LOCAL hDC := oWnd:hDC
local hWnd := oWnd:hWnd
local T:=GetClientRect(hWnd)
memvar oBmp
@ 01,00 BITMAP oBmp FILE cDir + cBitmap OF oWnd SIZE ;
T[4],T3] ;ADJUST
RETURN nil

///
/// cuando cambio de propietario realizo lo siguiente
// aqui es donde deberia cambiar el bitmap segun propie->LOGO
/// pero no sale el nuevo bitmap
//

oBmp:LoadBmp (propie->LOGO)
oBmp:REFRESH()
oWnd:cTitle := propie->NOMBRE
oWnd:Refresh()


Un saludo y gracias

Manuel