Buenas noches.
Luego de probar y probar con varios componente, el que mas me gustó fue el MXcalendar se los recomiendo buscar en
http://www.torry.net/.
Luego de instalarlo pude realizar distintas cosas y dado que ustedes siempre me ayudan cuando los necesito, adjunto todo lo que pude realizar con este componente.
Cabe destacar que todo el código que pondré se coloca en el evento OnGetItemStyles.
Sin mas, dejo estos códigos que espero les sirvan a todos.
Nota: El diseño que utilicé traté de que se parezca lo más que pude al calendario de los Sony Xperia E3
Saludos.
Código Delphi
[-]
{$R *.dfm}
procedure TForm1.mxCalendar1GetItemStyle(Sender: TmxCustomCalendar;
AStyleType: TmxStyleType; ADate: TDate; var AFont: TFont; var AColor: TColor);
var MiFecha :Tdate;
var sql, sFecha : string;
begin
MiFecha := encodeDate(2015, 01, 25);
if ADate = MiFecha then
begin
AFont.Style := AFont.Style + [fsBold]; Acolor := clRed; end;
if AStyleType = stWeekend then
begin
AColor := clBtnFace; AFont.Style := AFont.Style + [fsBold]; AFont.Color:= clRed; end;
if AStyleType = stSelected then
begin
AColor := $004080FF; AFont.Size := 20; end;
if AStyleType = stDay then
begin
AColor := clBtnFace;
end;
mxCalendar1.IndirectColor := clBtnFace; mxCalendar1.IndirectFont.Color:= clSilver;
mxCalendar1.Messages.January:= 'Enero';
mxCalendar1.Messages.February:= 'Febrero';
mxCalendar1.Messages.March:='Marzo';
mxCalendar1.Messages.April:='Abril';
mxCalendar1.Messages.May:= 'Mayo';
mxCalendar1.Messages.June:='Junio';
mxCalendar1.Messages.July:='Julio';
mxCalendar1.Messages.August:='Agosto';
mxCalendar1.Messages.September:='Septiembre';
mxCalendar1.Messages.October:='Octubre';
mxCalendar1.Messages.November:='Noviembre';
mxCalendar1.Messages.December:='Diciembre';
mxCalendar1.Messages.Monday := 'Lun';
mxCalendar1.Messages.Tuesday := 'Mar';
mxCalendar1.Messages.Wednesday := 'Mie';
mxCalendar1.Messages.Thursday := 'Jue';
mxCalendar1.Messages.Friday := 'Vie';
mxCalendar1.Messages.Saturday := 'Sab';
mxCalendar1.Messages.Sunday := 'Dom';
sFecha := datetimetostr(ADate);
sFecha:= formatdatetime('yyyy-mm-dd',strtodate(sFecha));
sql := 'select * from diasfestivos where Fecha = "' + sFecha + '"';
Diasferiado.sql.clear;
Diasferiado.sql.add(sql);
Diasferiado.open;
Diasferiado.First;
if not Diasferiado.Eof then
begin
AColor:=clred;
end;
end;
end.