Gracias Antonio!
La clase esta desarrollada por Rodrigo Soto y Bingen Ugaldebere, por si te sirve de algo. El Metodo
METHOD lFuera( nRow, nCol) CLASS TMiCalendario
Return iif( (nRow > (::nFila1 + 3) .and.;
nRow <= (::nFila2 - 3) .and.;
nCol > (::nCol1 + 3) .and.;
nCol <= (::nCol2 - 3) ), .f., .t.)
Constructor
METHOD New (nTop, nLeft, nWidth, nHeight, oWnd, oFont, nLANGUAGE ) CLASS TMiCalendario
DEFAULT nTop:=5, nLeft:=5,nWidth:=120,nHeight:=120 //Bingen
DEFAULT nLanguage := L_SPANISH
::nContador := 1
// Coordenadas de la region de dibujo.
::nTop := nTop
::nLeft := nLeft
::nBottom := ::nTop + nHeight
::nRight := ::nLeft + nWidth
::dFechaControl := Date()
::bFestivos := {|| ARRAY(0) } //Bingen
::nLanguage := nLanguage //Bingen
::Language() //Bingen
// Definicion del tooltip por dia..
::TipLimpiar()
// Array con dias festivos...
::aFestivos := { {}, {}, {},;
{}, {}, {},;
{}, {}, {},;
{}, {}, {} }
::oWnd := oWnd
::oFont := oFont
::lFont := !oFONT=NIL
::nPosFila := 1
::nPosCol := 1
::nPosBoton := 1
::aColorCuerpo := { nRgb(205,240,240),; // Color Borde superior
nRgb(145,220,220),; // Color de Relleno
nRgb( 55,170,170),; // Color Borde inferior
nRgb( 0, 0, 0),; // Color del texto,
nRgb(130,130, 65)} // Color dia seleccionado al perder el foco
::aColorTitulo := { nRgb( 55,170,170),; // Color Borde superior
nRgb( 40,120,120),; // Color de Relleno
nRgb( 40,110,110),; // Color Borde inferior
::aColorCuerpo[2],; // Color Letra mes y año
nRgb(205,205,155) } // Color de los dias.
::aColorBoton := { nRgb( 55,170,170),; // Color Borde superior
nRgb( 40,120,120),; // Color de Relleno
nRgb( 40,110,110),; // Color Borde inferior
::aColorCuerpo[2],; // Color Letra
::aColorCuerpo[2] } // Color relleno cuando se selecciona.
::aColorDomingo := ::aColorTitulo
::aColorFestivo := ::aColorTitulo
::nPosicion := day(::dFechaControl)
::FijaClrs()
::FijaClrDomingo()
::FijaClrFestivo()
::nStyle := nOr(WS_CHILD, WS_VISIBLE, WS_TABSTOP)
::Register()
If !Empty( oWnd:hWnd )
::Create()
oWnd:AddControl( Self )
else
oWnd:DefControl( Self )
endif
::hWndFijo := ::hWnd
Return Self
Si te falta algo mas de código, te subo la clase entera.
UN SALUDO.