cambiar imagen en BTNBMP

cambiar imagen en BTNBMP

Postby José Camilo » Fri Jun 21, 2024 3:13 am

Buenas noches.
Necesito modificar el archivo .bmp en un BTNBMP
Como se puede realizar?

Gracias
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm

Re: cambiar imagen en BTNBMP

Postby cmsoft » Fri Jun 21, 2024 11:12 am

Pudes hacerlo con SetImages
Code: Select all  Expand view  RUN
#include "FiveWin.ch"
STATIC nImgSelect
FUNCTION Main()
Local oDlg, oBmp, oBot, aImg := {"..\bitmaps\cara1.jpg","..\bitmaps\cara2.jpg","..\bitmaps\cara3.jpg"}
nImgSelect := 1
DEFINE DIALOG oDlg TITLE "Cambiar Imagen" FROM 05,15 TO 40,70
@ 20,05 BTNBMP oBmp FILE aImg[nImgSelect] OF oDlg SIZE 190,225 ADJUST NOBORDER PIXEL
@ 05,60 BUTTON oBot PROMPT "Cambiar" SIZE 30,12 OF oDlg PIXEL ACTION Cambiar(oBmp,aImg)
ACTIVATE DIALOG oDlg CENTERED
RETURN nil

STATIC FUNCTION Cambiar(oBmp,aImg)
nImgSelect := nImgSelect + 1
IF nImgSelect > 3
   nImgSelect := 1
ENDIF
oBmp:SetImages(aImg[nImgSelect])
RETURN nil  
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: cambiar imagen en BTNBMP

Postby José Camilo » Fri Jun 21, 2024 3:41 pm

Hola Cesar!!!
Gracias por responder.
por mi version de FWH (12.6) me da inexistente SETIMAGE...

Te comento rapido. estoy modificando el msgdate para hacerlo un poco mas grande y que muestre los feriados y ahora tambien si cada dia tiene tareas para realizar.

El mes inicial lo muestra correctamente en todo sentido.
muestra los domingos con texto en rojo y fondo color rojo claro, los feriados los muestra con el color de texto cambiado y los dias que tienen tareas los muestra con botones de color Verde Claro.
Hasta aca todo bien pero cuando muevo el mes o año muestra todo bien MENOS los dias que tienen TAREAS, sigue mostrando los del mes inicial aun cuando los dias numericos han cambiado, me explico.

lo tengo definido asi:

@ nLin, nColu BTNBMP ;
PROMPT Str( Day( dWork ), 2 ) SIZE 20, 20 FONT oFont4 ; //size 12,12 NOBORDER
FILENAME if(nColu=15,"RojoClaro20.Bmp",if(Tareas->(Dbseek(dWork,.f.)),"VerdeAgua20.BMP","AmarilloClaro20.BMP"));
ADJUST ;
ACTION ( oDlg:Cargo := ::Cargo, oDlg:End( IDOK ) )

y en el MOVECALENDAR esta asi:

for n := nFirstButton TO nLastButton
oDlg:aControls[ n ]:SetText( Str( Day( dWork ), 2 ) )

oDlg:aControls[ n ]:Cargo = dWork
oDlg:aControls[ n ]:nClrText = if( n=13 .or. n=20 .or. n=27 .or. n=34 .or. n=41 .or. n=48,CLR_HRED,;
If( dWork == Date(), CLR_BROWN,;
If( dWork == dSelect, CLR_HBLUE, If( Month( dWork ) == nMonth,;
CLR_BLACK , CLR_CYAN ) ) ) )

armofecha := dWork
if Feriados->(Dbseek(armofecha,.f.))
oDlg:aControls[ n ]:nClrText = CLR_MAGENTA
oDlg:aControls[ n ]:cToolTip = Feriados->Mensaje
else
oDlg:aControls[ n ]:cToolTip = DToC(dWork)
endif


******* ACA ES DONDE CREO TENER QUE REDEFINIR EL FONDO DEL BOTON y no se como hacerlo

if Tareas->(Dbseek(armofecha,.f.))
oDlg:aControls[ n ]: = "VerdeClaro20.bmp"
else
oDlg:aControls[ n ]: = "AmarilloClaro20.bmp"
endif
********


//oDlg:aControls[ n ]:cToolTip = DToC(dWork)
if dWork == dSelect
oDlg:aControls[ n ]:lPressed = .T.
oDlg:aControls[ n ]:cToolTip = "Selecciono"
endif
dWork++
next n


Si puedes hecharme una mano te agradezco, solo esto me falta para finalizarlo sino no hay problemas.

MUCHAS GRACIAS
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm

Re: cambiar imagen en BTNBMP

Postby karinha » Fri Jun 21, 2024 3:53 pm

Tal vez:

Code: Select all  Expand view  RUN

   LoadBitmap()
 


ó:

Code: Select all  Expand view  RUN

oBmp:Reload( GetResources(), "Reservada" ) // etc
 


Reagrds, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7842
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: cambiar imagen en BTNBMP

Postby José Camilo » Fri Jun 21, 2024 4:24 pm

Hola Joao!!!
Gracias por interesarte.

aca se para que es cada cosa

oDlg:aControls[ n ]:nClrText = CLR_MAGENTA
oDlg:aControls[ n ]:cToolTip = Feriados->Mensaje

lo que no se es definir la sentencia para hacer referencia al nombre del BMP
el bmp no es un recurso, es un archivo

oDlg:aControls[ n ]: ???????? = " archivo.bmp"

me explico?

Gracias Joao
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm

Re: cambiar imagen en BTNBMP

Postby karinha » Fri Jun 21, 2024 6:06 pm

José: Use DTPICKER, mucho mas profesional.

Gracias.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7842
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: cambiar imagen en BTNBMP

Postby cmsoft » Fri Jun 21, 2024 7:50 pm

Jose:
Prueba con :
Code: Select all  Expand view  RUN

if Tareas->(Dbseek(armofecha,.f.))
    oDlg:aControls[ n ]:SetFile("VerdeClaro20.bmp")
    else
    oDlg:aControls[ n ]:SetFile("AmarilloClaro20.bmp")
endif
 
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: cambiar imagen en BTNBMP

Postby José Camilo » Fri Jun 21, 2024 11:16 pm

Cesar.
Tu sugerencia funciona de maravillas.
MUCHAS GRACIAS !!!!
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 24 guests