tOutlook2003 & Imagen de Fondo

tOutlook2003 & Imagen de Fondo

Postby Mike Serra » Wed Nov 11, 2009 10:14 am

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
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)

Re: tOutlook2003 & Imagen de Fondo

Postby Antonio Linares » Thu Nov 19, 2009 2:25 am

Mike,

1) Puedes cambiar el bitmap de un grupo de la siguiente forma:
Code: Select all  Expand view

oOutLook:aGroups[ n ]:oBitmap:SetBMP( cBmpResName ) // desde recursos ó

oOutLook:aGroups[ n ]:oBitmap:LoadBMP( cBmpName ) // desde un fichero

oOutLook:aGroups[ n ]:Paint()
 


2) Como estas pintando la imagen en la ventana ? Usas un objeto TImage ?
Por favor muestra el código que usas, gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: tOutlook2003 & Imagen de Fondo

Postby Mike Serra » Thu Nov 19, 2009 9:38 am

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

Code: Select all  Expand view
 
      ....
      ....
      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 ) )


Con una clase IMAGE

Code: Select all  Expand view

     ....
     ....
    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 ) )

 


Con la clase BITMAP

Code: Select all  Expand view

     ....   
    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 ) )
 


El código de la función BmpTiled (para 2 y 3) es el siguiente:

Code: Select all  Expand view

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

 


Espero que me puedas ayudar.

Muchas Gracias por Todo.

Saludos
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)

Re: tOutlook2003 & Imagen de Fondo

Postby Antonio Linares » Thu Nov 19, 2009 10:23 am

Mike,

Hazlo asi:
Code: Select all  Expand view

#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  
 


Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: tOutlook2003 & Imagen de Fondo

Postby Mike Serra » Thu Nov 19, 2009 1:11 pm

Funcionó perfectamente, muchisimas gracias Antonio

Saludos,
Mike Serra
 
Posts: 297
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 88 guests