Agradezco toda la ayuda hasta ahora recibida gracias a la cual he avanzado mucho en mi proyecto.
Ahora tengo una pregunta más sobre la clase BTNGET
- Code: Select all Expand view RUN
DO WHILE ! oRsHab:EOF()
nVez++
REDEFINE BTNBMP oBtn[nVez] PROMPT AllTrim(Str(oRsHab:Fields("HAB_NUM"):Value,03,0)) + CRLF + "$" + AllTrim(Str(oRsHab:Fields("TIP_PRE"):Value,07,2)) ;
ID nVez + 100 CENTER FONT oFont OF oDlg UPDATE
oBtn[nVez]:cargo := { "HAB_NUM" => oRsHab:Fields("HAB_NUM"):Value,;
"HAB_STS" => oRsHab:Fields("HAB_STS"):Value,;
"HAB_PRE" => oRsHab:Fields("TIP_PRE"):Value}
oBtn[nVez]:bAction := {|oBtn| Eventos(oDlg,oBtn) }
DO CASE
CASE oRsHab:Fields("HAB_STS"):Value = 0 // Disponible
oBtn[nVez]:SetColor( CLR_BLACK, CLR_WHITE)
CASE oRsHab:Fields("HAB_STS"):Value = 1 // Ocupada
oBtn[nVez]:SetColor( CLR_WHITE, CLR_RED)
CASE oRsHab:Fields("HAB_STS"):Value = 2 // En aseo
oBtn[nVez]:SetColor( CLR_BLACK, CLR_YELLOW)
ENDCASE
oRsHab:MoveNext()
ENDDO
Con el código anterior defino los botones y les asigno un color en función al campo HAB_STS,
hast ahi todo excelente pero ahora al ir a una función donde cambia el estatus, ¿como puedo
cambiar el color del boton?, lo he intentado así pero me tira error de que no existe el metodo SETCOLOR
- Code: Select all Expand view RUN
STATIC FUNCTION UpdEve(oDlg,oBtn,aGets)
MsgInfo(oBtn:Cargo ["HAB_NUM"])
cCmdSql := "UPDATE " +;
"Habitaciones " +;
"SET " +;
"HAB_STS = 1 " +;
"WHERE " +;
"HAB_NUM = " + Str(oBtn:cargo ["HAB_NUM"],03,0)
TRY
oApp:oCon:Execute(cCmdSql)
CATCH oError
FW_ShowAdoError(oApp:oCon)
END
oBtn[oBtn:Cargo ["HAB_NUM"]]:SetColor( CLR_WHITE, CLR_RED)
oDlg:Update()
RETURN(.T.)
Saludos y muchas gracias