Page 1 of 1

Metro desde recursos?

Posted: Wed Jul 10, 2024 4:05 pm
by Armando
Amigos del foro:

Es posible que los BMP de los botones en la clase METRO sean desde recursos?

Saludos

Re: Metro desde recursos?

Posted: Wed Jul 10, 2024 5:55 pm
by Antonio Linares
Estimado Armando,

Sí, de hecho ya está implementado para el próximo build de FWH:

Code: Select all | Expand

METHOD AddButton( cCaption, nClrText, nClrPane, lLarge, cImgName, bAction ) CLASS TMetro

   local oBtn
   local nX := ::nOriginX + ( ::nRow * ( ::nBtnHeight + 8 ) ) 
   local nY := ::nOriginY + ( ::nCol * ( ::nBtnWidth + 8 ) )
   
   DEFAULT lLarge := .F.
   
   if File( cImgName )
      @ nX, nY BTNBMP oBtn ;
         SIZE ( ::nBtnWidth * If( lLarge, 2, 1 ) ) + If( lLarge, 8, 0 ), ::nBtnHeight ;
         OF ::oWnd PROMPT cCaption NOBORDER FILENAME cImgName
   else   
      @ nX, nY BTNBMP oBtn ;
         SIZE ( ::nBtnWidth * If( lLarge, 2, 1 ) ) + If( lLarge, 8, 0 ), ::nBtnHeight ;
         OF ::oWnd PROMPT cCaption NOBORDER RESOURCE cImgName
   endif   
      
   oBtn:bAction = bAction   
      
   oBtn:SetColor( nClrText, nClrPane )    
   
   AAdd( ::aButtons, oBtn )
   
   ::nCol++
   if lLarge
      ::nCol++
   endif   
   if ( ATail( ::aButtons ):nLeft + ATail( ::aButtons ):nWidth ) > ( ::nOriginY * 4 ) + 50 
      ::nRow++
      ::nCol = 0
   endif   
   
return nil    
 
@ nX, nY BTNBMP oBtn ;
SIZE ( ::nBtnWidth * If( lLarge, 2, 1 ) ) + If( lLarge, 8, 0 ), ::nBtnHeight ;
OF ::oWnd PROMPT cCaption NOBORDER RESOURCE cImgName

Re: Metro desde recursos?

Posted: Wed Jul 10, 2024 9:29 pm
by Armando
Master Antonio:

Muchas gracias, empezaré a ahorrar.

Saludos

Re: Metro desde recursos?

Posted: Wed Jul 10, 2024 9:44 pm
by Antonio Linares
Puedes modificar la clase tu mismo con ese código :-)

Re: Metro desde recursos?

Posted: Thu Jul 11, 2024 3:14 am
by Armando
Master:

Soy ñoño es eso, pero lo intentaré.

Saludos

Re: Metro desde recursos?

Posted: Thu Jul 11, 2024 4:16 pm
by Armando
Maestro Antonio:

Lo logré :D

Ahora, será posible lo mismo pero para el BACKGROUND ?

Code: Select all | Expand

   DEFINE METRO oMetro ;
      TITLE "AppRpt, Archivos para contabilidad" ;
      BACKGROUND ".\earth.bmp"
Saludos y muchas gracias

Re: Metro desde recursos?

Posted: Thu Jul 11, 2024 4:50 pm
by Antonio Linares
Solo tienes que modificar estas líneas en el método New():

Code: Select all | Expand

   if File( cFileName )
      ::hBitmap = ReadBitmap( 0, cFileName )
   else 
      ::hBitmap = LoadBitmap( GetResources(), cFileName )   
   endif    
Lo incluimos también para el próximo build!

Re: Metro desde recursos?

Posted: Thu Jul 11, 2024 6:53 pm
by Armando
Master:

Grande !.

Por el momento con eso tengo suficiente.

Saludos