Buenas noches.
Necesito modificar el archivo .bmp en un BTNBMP
Como se puede realizar?
Gracias
cambiar imagen en BTNBMP
Re: cambiar imagen en BTNBMP
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
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: cambiar imagen en BTNBMP
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
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
Tal vez:
ó:
Reagrds, saludos.
Code: Select all | Expand
LoadBitmap()
Code: Select all | Expand
oBmp:Reload( GetResources(), "Reservada" ) // etc
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: cambiar imagen en BTNBMP
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
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
José: Use DTPICKER, mucho mas profesional.
Gracias.
Regards, saludos.
Gracias.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: cambiar imagen en BTNBMP
Jose:
Prueba con :
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
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: cambiar imagen en BTNBMP
Cesar.
Tu sugerencia funciona de maravillas.
MUCHAS GRACIAS !!!!
Tu sugerencia funciona de maravillas.
MUCHAS GRACIAS !!!!