FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper COMO PONER UN FONDO DE PANTALLA
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Thu Feb 15, 2007 09:17 PM

Hola Amigos:

Como puedo poner un Fondo (Logo) en la pantalla principal, puede ser un BMP.

Uso Clipper 5.3b, FW2.4 y Blinker 7.0.

Saludos,
Miguel

Posts: 214
Joined: Sat Aug 19, 2006 01:37 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 12:12 AM

Asi es una forma de hacerlo:::

@0,0 BITMAP oBmp FILE "bmp\fondo.bmp" OF oWnd:oWndClient();
PIXEL NOBORDER SIZE 1034,768

debes declarar LOCAL oBmp

Mi segundo amor es Programar
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 12:42 AM
Hola Amigo:

Muchas gracias por tu ayuda.

Saludos,
Miguel


[quote="A&C"]Asi es una forma de hacerlo:::

@0,0 BITMAP oBmp FILE "bmp\fondo.bmp" OF oWnd:oWndClient();
PIXEL NOBORDER SIZE 1034,768

debes declarar LOCAL oBmp
Posts: 166
Joined: Mon Dec 12, 2005 09:56 AM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 07:54 AM

Hola, yo lo tengo para que adem谩s de mostrar un logo, 茅ste se ajuste en tama帽o en proporci贸n al tama帽o de la ventana de la aplicaci贸n y adem谩s siempre est茅 centrado en ella.

Lo hago as铆:

DEFINE WINDOW oWnd ..
..
oWnd:bResized := {|| Inilogo() }

ACTIVATE WINDOW oWnd ON INIT Inilogo() ...

Esta es la funci贸n Inilogo:

function IniLogo()
local aclirect := getclientRect(oWnd:hWnd)

if valtype(oBmplogo) = 'O'
oBmpLogo:End()
endif
@ -100, -100 BITMAP oBmplogo RESOURCE 'LOGO' ADJUST OF oWnd PIXEL NO BORDER

oBmpLogo:nTop := int( (aclirect[3]/2) - (int( (int( aclirect[4]36/100 )oBmpLogo:nHeight)/oBmpLogo:nWidth )/2) )
oBmpLogo:nLeft := int( (aclirect[4]/2) - (int( aclirect[4]36/100 )/2) )
oBmpLogo:nHeight := int( (int( aclirect[4]
36/100 )oBmpLogo:nHeight)/oBmpLogo:nWidth )
oBmpLogo:nWidth := int( aclirect[4]
36/100 )
oBmpLogo:Refresh()

return nil

Saludos

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 08:06 AM
Miguel,

En samples\fivegen\fivegen.prg tienes un ejemplo de como poner un logo centrado 贸 en mosaico:
   if ! Empty( ::oBmpLogo ) .or. ! Empty( ::oBmpTiled )
      ::oWnd:bPainted = { | hDC | If( ::oBmpTiled != nil,;
                                  BmpTiled( hDC, ::oWnd, ::oBmpTiled ),),;
                                  If( ::oBmpLogo != nil,;
                                  PalBmpDraw( hDC,;
                                  ::oWnd:nHeight() / 2 - ;
                                  ::oBmpLogo:nHeight() / 2 - 50,;
                                  ::oWnd:nWidth() / 2 - ;
                                  ::oBmpLogo:nWidth() / 2,;
                                  ::oBmpLogo:hBitmap ),) }
   endif

Revisa fivegen.prg para ver el c贸digo de la funci贸n BmpTiled()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 03:15 PM
Antonio:

Muchas Gracias,

Saludos,

Miguel

Antonio Linares wrote:Miguel,

En samples\fivegen\fivegen.prg tienes un ejemplo de como poner un logo centrado 贸 en mosaico:
   if ! Empty( ::oBmpLogo ) .or. ! Empty( ::oBmpTiled )
      ::oWnd:bPainted = { | hDC | If( ::oBmpTiled != nil,;
                                  BmpTiled( hDC, ::oWnd, ::oBmpTiled ),),;
                                  If( ::oBmpLogo != nil,;
                                  PalBmpDraw( hDC,;
                                  ::oWnd:nHeight() / 2 - ;
                                  ::oBmpLogo:nHeight() / 2 - 50,;
                                  ::oWnd:nWidth() / 2 - ;
                                  ::oBmpLogo:nWidth() / 2,;
                                  ::oBmpLogo:hBitmap ),) }
   endif

Revisa fivegen.prg para ver el c贸digo de la funci贸n BmpTiled()
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
COMO PONER UN FONDO DE PANTALLA
Posted: Fri Feb 16, 2007 03:16 PM
Sebastian:

Muchas Gracias por tu ayuda.

Saludos,

Miguel

Sebasti谩n Almir贸n wrote:Hola, yo lo tengo para que adem谩s de mostrar un logo, 茅ste se ajuste en tama帽o en proporci贸n al tama帽o de la ventana de la aplicaci贸n y adem谩s siempre est茅 centrado en ella.

Lo hago as铆:

DEFINE WINDOW oWnd ..
..
oWnd:bResized := {|| Inilogo() }

ACTIVATE WINDOW oWnd ON INIT Inilogo() ...

Esta es la funci贸n Inilogo:

function IniLogo()
local aclirect := getclientRect(oWnd:hWnd)

if valtype(oBmplogo) = 'O'
oBmpLogo:End()
endif
@ -100, -100 BITMAP oBmplogo RESOURCE 'LOGO' ADJUST OF oWnd PIXEL NO BORDER

oBmpLogo:nTop := int( (aclirect[3]/2) - (int( (int( aclirect[4]*36/100 )*oBmpLogo:nHeight)/oBmpLogo:nWidth )/2) )
oBmpLogo:nLeft := int( (aclirect[4]/2) - (int( aclirect[4]*36/100 )/2) )
oBmpLogo:nHeight := int( (int( aclirect[4]*36/100 )*oBmpLogo:nHeight)/oBmpLogo:nWidth )
oBmpLogo:nWidth := int( aclirect[4]*36/100 )
oBmpLogo:Refresh()

return nil


Saludos

Continue the discussion