Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2015
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
colorear un día en un calendario

Buenas tardes.

Este tema se ha tratado muchas veces en este foro pero a la final solo necesito saber cual calendario me recomiendan para usarlo en.Delphi 7 con la finalidad de que se pueda colorear el día que yo elija.

En este sentido doy gracias de antemano por su acostumbrada colaboración.

Saludos
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #2  
Antiguo 04-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces de abajo de esta página
Responder Con Cita
  #3  
Antiguo 06-01-2015
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
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


// colorear un día en concreto según la fecha que yo quiera:
MiFecha := encodeDate(2015, 01, 25);

  if ADate = MiFecha then
  begin
    AFont.Style := AFont.Style + [fsBold]; // poner en negrita la letra de ese día
    Acolor := clRed; // color de fondo a esa fecha en rojo.
  end;


  // colorear todos los fines de semanas:
  if AStyleType = stWeekend then
  begin
   AColor  := clBtnFace;    // Coloreando el fondo con el color clBtnFace a los fines de semanas.
   AFont.Style := AFont.Style + [fsBold]; // poner en negrita la letra de esos días.
   AFont.Color:= clRed;    // Coloreamos de Rojo el texto de los dias de los fines de semana.
  end;

  //colorear la fecha que hace click

    if AStyleType = stSelected then
    begin
      AColor := $004080FF; // Color mamei
      AFont.Size := 20; //Agrandamos el Tamaño de la letra del dia seleccionado.
    end;


 //Cambiamos el color de los dias del mes actual
  if AStyleType = stDay then
  begin
      AColor := clBtnFace;
  end;


  mxCalendar1.IndirectColor := clBtnFace; // Para cambiar los dias que no se muestran que no pertenecen al mes actual.
  mxCalendar1.IndirectFont.Color:= clSilver; // Cambiamos el texto de los dias de los meses que se muestran que no pertenecen al mes actual


 //Cambiamos los Nombres de los meses dado que aparecen en minuscula
 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';

 //Para cambiar los nombres de los dias de la semana

 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';




{Si tenemos en una tabla un campo de tipo Date en la cual guardamos los días festivos,
 El codigo siguiente muestra como colorear el fondo de color rojo esos dias guardados en nuestra tabla.
}
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.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #4  
Antiguo 06-01-2015
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
mira este hilo quizás es lo que estas buscando con los componentes estándar de Delphi
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #5  
Antiguo 06-01-2015
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
Muchas gracias José Luis Garcí.

Verifiqué el hilo anterior pero no se colorea el día.
Con el código siguiente puedo colorear los días que yo quiero los cuales están guardados en una tabla
Código Delphi [-]
{Si tenemos en una tabla un campo de tipo Date en la cual guardamos los días festivos,
 El codigo siguiente muestra como colorear el fondo de color rojo esos dias guardados en nuestra tabla.
}
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;

Me gustaría hacerlo con el mountcalendar pero no he podido hacerlo .

Si alguien sabe estoy a la espera de sus comentarios.

Saludos
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #6  
Antiguo 07-01-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jeremiselxi
Cita:
Empezado por jeremiselxi Ver Mensaje
...
Me gustaría hacerlo con el mountcalendar pero no he podido hacerlo .
...
La clase MonthCalendar no implementa la personalización de los días del mes. Es mas, ni siquiera el método Paint... De modo que lo que buscas hacer, si bién no es inviable, es al menos una taréa demasiada pesada de encarar.

Mi consejo es que te busques un componente alternativo. Algunos enlaces que encontré buscando superficialmente:

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Colorear dbedit cojones OOP 5 05-06-2007 23:16:57
Colorear Grid JULIOCTORRESG Lazarus, FreePascal, Kylix, etc. 0 03-11-2006 20:13:42
Colorear un Calendario RONPABLO Varios 3 17-10-2004 15:16:15
Colorear código PHP gatsu PHP 6 29-08-2004 08:45:08
Colorear un dia en un MonthCalendar Camomilas Varios 2 14-09-2003 17:38:24


La franja horaria es GMT +2. Ahora son las 08:14:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi