Page 1 of 1
cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 3:13 am
by José Camilo
Buenas noches.
Necesito modificar el archivo .bmp en un BTNBMP
Como se puede realizar?
Gracias
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 11:12 am
by cmsoft
Pudes hacerlo con SetImages
Code: Select all | Expand
#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
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 3:41 pm
by José Camilo
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
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 3:53 pm
by karinha
Tal vez:
ó:
Reagrds, saludos.
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 4:24 pm
by José Camilo
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
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 6:06 pm
by karinha
José: Use DTPICKER, mucho mas profesional.
Gracias.
Regards, saludos.
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 7:50 pm
by cmsoft
Jose:
Prueba con :
Code: Select all | Expand
if Tareas->(Dbseek(armofecha,.f.))
oDlg:aControls[ n ]:SetFile("VerdeClaro20.bmp")
else
oDlg:aControls[ n ]:SetFile("AmarilloClaro20.bmp")
endif
Re: cambiar imagen en BTNBMP
Posted: Fri Jun 21, 2024 11:16 pm
by José Camilo
Cesar.
Tu sugerencia funciona de maravillas.
MUCHAS GRACIAS !!!!