FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CAMBIAR IMAGEN DE FONDO
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
CAMBIAR IMAGEN DE FONDO
Posted: Mon May 10, 2010 06:36 PM

CON ESTA FUNCION ASIGNO UNA IMAGEN COMO FONDO DE VENTANA

DEFINE BITMAP oBmpTIT FILENAME "DIB.bmp"

DEFINE WINDOW oWnd TITLE cTitle ;
COLORS CLR_BLACK, CLR_NBLUE ;
MENU BuildMenu() MENUINFO 8 ;
ICON oIco MDI

ACTIVATE WINDOW oWnd MAXIMIZED ;
ON PAINT DrawBitmap( hDC, oBmpTIT:hBitmap, 0, 0, oWnd:oWndClient:nWidth(), ;
oWnd:oWndClient:nHeight() )

COMO LA PUEDO CAMBIAR EN TIEMPO DE EJECUCION ?

GRACIAS

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Mon May 10, 2010 07:00 PM

Marco..

Intenta con:

oBmp:LoadBmp( cBmpFile )
oWnd:Refresh()

Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Tue May 11, 2010 03:01 PM

Gracias por tu antencion

Pero no funciona

S铆 toma el nuevo bitmap
y lo cambia hasta que minimizo y maximizo la ventana

No actualiza la ventana en el momento

ya prob茅 con sysrefresh()
oWnd:refresh()

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Tue May 11, 2010 03:50 PM

Marco

Disculpa fue mi error, no me di cuenta que trabajaban en MDI hazlo asi

oWnd:oWndClient:Refresh()

Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Tue May 11, 2010 08:11 PM

Muchas gracias
Funcion贸 perfecto

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Sun Jan 23, 2011 12:49 AM
Retomo este hilo que es similar a mi problema.
Este es mi codigo:
Code (fw): Select all Collapse
...
soWnd0:bPainted := {|| SetLogo( oConxFTP ) }
...
static procedure SetLogo( oConxFTP )
local cImage:= BeforAtNum( "\", SubStr( 聽oConxFTP:cPathDbf,3 ) ) +"\bmp\SiGeCo_iGO32.jpg", ;
聽 聽 聽 nTop, ;
聽 聽 聽 nLeft

聽 聽@ 0, 0 IMAGE soImg SIZE 75, 75 PIXEL NOBORDER OF soWnd0 UPDATE

聽 聽nTop := ( soWnd0:nHeight - soImg:nHeight ) / 2
聽 聽nLeft:= ( soSplit:nLast - soImg:nWidth ) /2 聽//soSplit:nFirst+

聽 聽soImg:Progress( .f. )
聽 聽soImg:LoadBmp( cImage )
聽 聽soImg:Move( nTop, nLeft,,,TRUE )
聽 聽soImg:Refresh()


En principio no logro ponerlo en el centro de la ventana

No obstante lo que muestro es en un monitor de 1440x900. Si ejecuto el prg en otro de res. 1024x780 la figura ya no entra en el ercuadro
Lo mismo ocurre con el siguiente dialogo:


al ejecutarlo en otra resoluci贸n el dialogo (que esta en un recurso como style dialgo frame, caso contrario se lo puede mover con el mouse) se muestra fuera de la ventana
Cual es la mejor manera de trabajar con splitters y para distintas resoluciones?

muchas gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Mon Jan 24, 2011 06:37 PM
Mario yo lo hago mas o menos como se indica en el siguiente codigo.

Code (fw): Select all Collapse
cFileFondo:="Logo.jpg"
oBmp := TImage():Define( ,cFileFondo )
DEFINE WINDOW oWnd  MDI
DEFINE BUTTONBAR oBar OF oWnd SIZE 80, 60 2007 //LEFT //RIGHT

set MESSAGE of oWnd to 'mensaje';
      DATE TIME KEYBOARD COLOR '*rb+/w' FONT oFont2 2007

      nAncho := GetSysMetrics( 0 )
      nAlto  := GetSysMetrics( 17 ) - GetSysMetrics( 15 ) - oBar:nHeight() - oWnd:oMsgBar:nHeight()

      oWnd:bPainted  := {|hDC| PalBmpDraw( hDC,0,0,oBmp:hBitmap,,nAncho, nAlto,, (.T.)) }

ACTIVATE WINDOW oWnd MAXIMIZED


saludos..
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: CAMBIAR IMAGEN DE FONDO (SOLUCIONADO)
Posted: Wed Jan 26, 2011 01:02 AM

Cesar; muchisimas gracias, ya mi matem谩ticas no daba para m谩s! :shock: :)
Lo que yo necesitaba era usar esta funcion PalBmpDraw( hDC, ....) pues me hice un lio con la TImage declarandola como comando

Saludos

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Fri Jul 08, 2011 07:31 PM

Hola,, Como le haces,, a mi no me funciona el cambio del imagen en una MDI en tiempo de ejecucion,,
Salu2

Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Mon Jul 11, 2011 01:12 PM

Willi;
No se si es aplicable en entorno MDI, nunca lo prob茅.
Lo que hago es lo siguiente:

// Ventana
DEFINE ICON aO[_Ico] RESNAME "iGO"

DEFINE WINDOW soWnd0 ;
TITLE "Protocolo de Transferencia de Archivos (FTP) | Origen: "+Upper( oConxFTP:cPuntoVta ) ;
ICON aO[_Ico] COLOR CLR_BLACK,CLR_BLACK ;
NOMAXIMIZE ;
FROM 2000,5 TO 2001,5 ;
MENU BuildMenu()
...

soWnd0:bPainted:= {|hDC| SetLogo( hDC ) }

...
ACTIVATE WINDOW soWnd0 ON INIT ( soSMsg:Hide(), soWnd0:Center() )
// Fin

// 路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路路 \
// L O G O
static procedure SetLogo( hDC, oConxFTP )
local oImg, ;
cLogo:= ".\bmp\SiGeCo_iGO32.jpg"

oImg:= TImage():Define( , cLogo )

PalBmpDraw( hDC, (soWnd0:nHeight-oImg:nHeight ) /3, soSplit:nFirst+( soSplit:nLast-oImg:nWidth) /2, oImg:hBitmap,, oImg:nWidth, oImg:nHeight,, TRUE )

// Fin

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: CAMBIAR IMAGEN DE FONDO
Posted: Mon Jul 11, 2011 01:50 PM

Hola,,, si funciona en MDI, gracias a todos por las sugerencias,,,
Salu2

Continue the discussion