Buenos días foro, os pregunto a ver si me podeis echar una manita:
1) Tengo en mi aplicación incrustada la clase toutlook2003, ¿Sabéis si se puede cambiar un icono en tiempo de ejecución en dicha clase?. Es que uno de los botones de la clase es un apartado de alarmas, y por defecto tiene un icono. Cuando haya una alarma quiero que dicho icono cambie para que el usuario entre en dicha parte.
2) Le he instalado a mi cliente la aplicación en varias máquinas, y cada una tiene un monitor con una resolución distinta, con lo cual, la imagen de fondo (en JPG) en uno aparece bien pero en otro aparece como un mosaico. Creo que de esto había algo en el foro, pero no lo he encontrado. ¿Me podeís dar alguna pista de como ensanchar la imagen para que en todos los monitores aparezca bien?
Muchas gracias por todo.
Un Saludo,
Miguel A
tOutlook2003 & Imagen de Fondo
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: tOutlook2003 & Imagen de Fondo
Mike,
1) Puedes cambiar el bitmap de un grupo de la siguiente forma:
2) Como estas pintando la imagen en la ventana ? Usas un objeto TImage ?
Por favor muestra el código que usas, gracias
1) Puedes cambiar el bitmap de un grupo de la siguiente forma:
Code: Select all
oOutLook:aGroups[ n ]:oBitmap:SetBMP( cBmpResName ) // desde recursos ó
oOutLook:aGroups[ n ]:oBitmap:LoadBMP( cBmpName ) // desde un fichero
oOutLook:aGroups[ n ]:Paint()
Por favor muestra el código que usas, gracias
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)
Re: tOutlook2003 & Imagen de Fondo
Como siempre, gracias Antonio por contestar.
1) Solucionado, se queda perfecto con lo indicado
2) Con respecto al segundo punto, lo he intentado sin exito de las siguientes formas:
Con un BRUSH
Con una clase IMAGE
Con la clase BITMAP
El código de la función BmpTiled (para 2 y 3) es el siguiente:
Espero que me puedas ayudar.
Muchas Gracias por Todo.
Saludos
1) Solucionado, se queda perfecto con lo indicado
2) Con respecto al segundo punto, lo he intentado sin exito de las siguientes formas:
Con un BRUSH
Code: Select all
....
....
define BRUSH obmp FILENAME ".\IMG\logosocial.bmp" of oWndPrincipal
define window oWndPrincipal title oApplication:Title + " Empresa: " + oCompany:Nombre mdi menu BuildMenu() icon icono colors CLR_BLUE, RGB( 231,242,255 ) BRUSH obmp
....
....
....
activate window oWndPrincipal maximized valid CloseAplicattion(2) on init (oApplication:oWnd:=oWndPrincipal, SearchAlarms()) ON RESIZE ( oSplit:Adjust(),;
WndLeft( oWndPrincipal:oWndClient:hWnd, oSplit:nRight + 1 ),;
WndWidth( oWndPrincipal:oWndClient:hWnd, oWndPrincipal:nWidth - oOutLook2003:nWidth + 80 ) )
Code: Select all
....
....
define window oWndPrincipal title oApplication:Title + " Empresa: " + oCompany:Codigo + " - " + oCompany:Nombre mdi menu BuildMenu() icon icono colors CLR_BLUE, RGB( 231,242,255 )
....
define image obmp FILENAME ".\IMG\logosocial.bmp" of oWndPrincipal
oWndPrincipal:bPainted = { | hDC | BmpTiled( hDC,oBmp, oWndPrincipal ) }
....
activate window oWndPrincipal maximized valid CloseAplicattion(2) on init (oApplication:oWnd:=oWndPrincipal, SearchAlarms()) ON RESIZE ( oSplit:Adjust(),;
WndLeft( oWndPrincipal:oWndClient:hWnd, oSplit:nRight + 1 ),;
WndWidth( oWndPrincipal:oWndClient:hWnd, oWndPrincipal:nWidth - oOutLook2003:nWidth + 80 ) )
Code: Select all
....
define window oWndPrincipal title oApplication:Title + " Empresa: " + oCompany:Codigo + " - " + oCompany:Nombre mdi menu BuildMenu() icon icono colors CLR_BLUE, RGB( 231,242,255 )
define bitmap obmp FILENAME ".\IMG\logosocial.bmp" of oWndPrincipal
...
oWndPrincipal:bPainted = { | hDC | BmpTiled( hDC,oBmp, oWndPrincipal ) }
activate window oWndPrincipal maximized valid CloseAplicattion(2) on init (oApplication:oWnd:=oWndPrincipal, SearchAlarms()) ON RESIZE ( oSplit:Adjust(),;
WndLeft( oWndPrincipal:oWndClient:hWnd, oSplit:nRight + 1 ),;
WndWidth( oWndPrincipal:oWndClient:hWnd, oWndPrincipal:nWidth - oOutLook2003:nWidth + 80 ) )
Code: Select all
function BmpTiled( hDC, oBmp, oWnd ) //BmpTiled(
local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()
while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end
return nil
Muchas Gracias por Todo.
Saludos
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: tOutlook2003 & Imagen de Fondo
Mike,
Hazlo asi:
Hazlo asi:
Code: Select all
#include "FiveWin.ch"
function Main()
local oWnd, oBmp
DEFINE BITMAP oBmp FILENAME "logo.bmp"
DEFINE WINDOW oWnd MDI
ACTIVATE WINDOW oWnd ;
ON PAINT DrawBitmap( hDC, oBmp:hBitmap, 0, 0, oWnd:oWndClient:nWidth(), oWnd:oWndClient:nHeight() )
oBmp:End()
return nil
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)
Re: tOutlook2003 & Imagen de Fondo
Funcionó perfectamente, muchisimas gracias Antonio
Saludos,
Saludos,