Page 1 of 1

TIMAGE WINDOW MDI ?? PORQUE NÃO FUNCIONA?

Posted: Wed Aug 22, 2007 7:15 pm
by AOKISANTOS
Antonio, para colocar uma imagem na area de trabalho eu utilizava assim :

DEFINE WINDOW oWnd ;
ICON OICO;
MENU PreparaMenu()

ACTIVATE WINDOW oWnd MAXIMIZED on RESIZE ( showLogo(.T.))

*******************************
FUNCTION showLogo(jafundo)
*******************************
local fupla:="sgs.jpg"

@ 0,0 IMAGE oImg ADJUST SIZE oWnd:GetCliRect():nRight,;
oWnd:GetCliRect():nBottom OF oWnd NOBORDER

oImg:Progress(.F.)
oImg:LoadBmp(fupla)
RETURN(.t.)


E funcionava certinho, porém ao colocar MDI na window parou de funcionar, ficou um fundo cinza escuro:

DEFINE WINDOW oWnd MDI;
ICON OICO;
MENU PreparaMenu()

ACTIVATE WINDOW oWnd MAXIMIZED on RESIZE ( showLogo(.T.))



Antonio como resolver isso?


Desde já te agradeço.

Fique com Deus

Aoki

Posted: Wed Aug 22, 2007 7:58 pm
by Antonio Linares
Aoki,

Al usar MDI debes usar:
... OF oWnd:oWndClient ...

pero tu código es erróneo ya que estás creando un objeto image CADA VEZ que se produce un resize de la ventana principal. Hazlo así:

Code: Select all

oBmp = TImage():Define( , "sgs.jpg" ) 

oWnd:oWndClient:bPainted := {|hDC| PalBmpDraw( hDC, 0, 0,oBmp:hBitmap,, oWnd:oWndClient:nWidth, oWnd:oWndClient:nHeight,, .T.) }