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
COMO PONER UN FONDO DE PANTALLA
-
- Posts: 117
- Joined: Sun Oct 01, 2006 11:39 pm
- Sebastián Almirón
- Posts: 125
- Joined: Mon Dec 12, 2005 9:56 am
- Location: Moralzarzal - Spain
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Miguel,
En samples\fivegen\fivegen.prg tienes un ejemplo de como poner un logo centrado ó en mosaico:
Revisa fivegen.prg para ver el código de la función BmpTiled()
En samples\fivegen\fivegen.prg tienes un ejemplo de como poner un logo centrado ó en mosaico:
Code: Select all
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
-
- Posts: 117
- Joined: Sun Oct 01, 2006 11:39 pm
Antonio:
Muchas Gracias,
Saludos,
Miguel
Muchas Gracias,
Saludos,
Miguel
Antonio Linares wrote:Miguel,
En samples\fivegen\fivegen.prg tienes un ejemplo de como poner un logo centrado ó en mosaico:Revisa fivegen.prg para ver el código de la función BmpTiled()Code: Select all
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
-
- Posts: 117
- Joined: Sun Oct 01, 2006 11:39 pm
Sebastian:
Muchas Gracias por tu ayuda.
Saludos,
Miguel
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