Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Color Calendario... (https://www.clubdelphi.com/foros/showthread.php?t=41380)

The_Avatar 14-03-2007 12:40:37

Color Calendario...
 
Estoy usando el componente TCalendar de la paleta Samples. ¿Alguno sabria decirme como cambiar el color del numero o del fondo de una o varias de las celdas?
Gracias de antemano.

Troffed 14-03-2007 18:53:10

1 Archivos Adjunto(s)
Adjunto pongo un componente que desarrollé ya hace unos años (tiene algunos fallos, como no :)) que hace eso precisamente.

Lo único es que no muestra sólo un mes, sino todo un año.

Disclaimer: No puedo prestar soporte del componente, lo dejo tal cual, cada uno que lo use bajo su responsabilidad. Lo dejo totalmente sin licencia, es decir, que cada uno haga lo que quiera con él.

The_Avatar 15-03-2007 10:43:05

Gracias...
 
Hombre, se agradece, pero el tema es no tener que usar componentes externos...Me gustaria que alguien me dijera si es posible cambiar el color del Tcalendar tal y como yo quiero... Al menos por ir por otros caminos...
Agradeceria cualquier ayuda.

Lepe 15-03-2007 10:48:13

No. No puedes cambiar el color de fondo, como mucho poner en negrilla el número.

Eso de usar componentes... pues la verdad, si tienes el código fuente, es como si fuera un Combobox más... ¿o no?

Troffed En nombre de todos te doy las gracias, es algo que suele requerirse mucho, voy a darle una visual ;).

Saludos

The_Avatar 15-03-2007 11:09:01

oye..
 
Se puede entonces poner el numero en negrita en el componente TCalendar de la paleta Samples?? ( ojo, no en el TMonthCalendar de la paleta Win32 q es otro... )
Me gustaria que me dijerais como.
Gracias

The_Avatar 15-03-2007 12:46:28

...
 
NADIE sabria decirme si es posible poner en negrita algunos dias del calendario??
Gracias.

The_Avatar 15-03-2007 13:37:22

...
 
Nadie puede decirme algo? La verdad es que me urge... ^^´
Gracias de antemano.

Lepe 15-03-2007 13:55:04

En primer lugar, en un foro no hay urgencias, no sabes cuando se puede conectar alguien que sepa la respuesta, o pueda dedicar tiempo a investigar sobre ella.

En segundo lugar, por lo poco que he visto de ese componente, yo diría que no permite resaltar nada, no tiene eventos ni propiedades que lo indiquen.

Necesitas algo que los componentes de que dispones no lo solucionan. La única forma es:
- Instalar un componente de terceros (www.torry.net)
- Crearlo tu mismo, aunque echarás más tiempo del que dispones según veo.

Componentes de ese estilo hay muchos, mxCalendar son free y tienen potencial, aunque no tienen el Skin de Windows XP.

Saludos.

The_Avatar 15-03-2007 14:09:39

Gracias
 
Gracias por la info. Solo queria confirmar que el componente no tiene la opcion antes de meterme a instalar otro nuevo. Espero no haber ofendido a nadie con las prisas...
Gracias a todos!! ^^

Lepe 15-03-2007 22:38:47

No hombre no, ni si quiera "me he molestado", solo he querido que comprendas el funcionamiento del foro, (que algunas veces aunque lo sabemos, no nos damos cuenta), espero no haberte molestado tampoco.

Después de enviar la respuesta.... me quedé pensando en mi última afirmación: "que no tenía Skin tipo XP", bueno, en realidad no hay mucho que tunear, pero siempre podemos usar los colores especiales clInactiveCaption, clActiveCaption, etc, que todos ellos se adaptarán al tema de windows que el usuario haya elegido.

Saludos

thelibmx 22-03-2007 20:03:54

Instalar componente maxcalendar
 
hola yo soy nuevo en esto, tengo el mismo problema del calendario, asi que decidi instalar el componente del maxcalendar, la cosa es que soy tan nuevo en esto que no se como verlo o incluirlo dentro de delphi, yo estoy trabajando en la version de delphi 2006, ya instale el executable del calendario Maxcalendar, si alguien podria decirme que mas sigue para visualizarlo o ejecutarlo dentro del programa, de antemano muchas gracias

Lepe 22-03-2007 20:21:48

Realmente no lo tienes instalado.

Ve a la carpeta donde se ha instalado, normalmente en:
C:\Archivos de programa\MaxComponents\mxCalendar\Component

Allí verás una seri de paquetes (extensión dpk). El que corresponde a BDS2006 es mxCalendar_d10.dpk, dale doble clic para abrirlo desde Delphi,

Añade la ruta antes mencionada en Tools -> Options -> Borland delphi -> library path (para que encuentre los fuentes al compilar).

Ahora, en el menú de delphi View -> Project Manager, creo recordar la pestaña Projects, verás el mxCalendar, usa el botón derecho para compilar y después instalar.

Ahora si, aparecerá un mensaje diciendo que se ha instalado en la paleta de componentes, en concreto, en una nueva paleta llamada "Max".

Saludos

thelibmx 22-03-2007 21:44:47

propiedades de maxcalendar componente
 
Muchas gracias, ya lo puedo ver, me ha servido de mucha ayuda, por ultimo y si no es molestia, tendras alguna pagina o algun tutorial donde pueda ver como puedo ocupar las propiedades de ese componente(maxcalendar)?, veras el uso que le quiero dar es que por ejemplo al dar un click sobre el calendario, me marque el dia de un color y me lo guarde en una base de datos, para que posteriormente al volver a ver el componente se muestren los dias seleccionados con un color, bueno espero que me puedan ayudar, y felicito a todos y cada uno de ellos que hace posible este foro, ya sea con sus consejos o preguntas mil gracias buen dia.. gracias lepe :)

Lepe 23-03-2007 00:32:37

Usa el evento OnGetItemStyle y en los parámetros que lleva tienes:

- La fecha que se va a pintar
- la fuente (TFont) que puedes modificar a voluntad
- El color de fondo (que también puedes modificarlo
- (algo más que no recuerdo :D).

Como ves, tendrás que usar ese evento cada vez que se cambia de mes para resaltar los días que quieras.

Tutorial o Ejemplo no tengo, lo siento.

Saludos

thelibmx 23-03-2007 01:33:40

Hola Gracias por el dato ya lo puse y me sale algo parecido a esto

mxcalendar1.OnGetItemStyle(Sender:TmxCustomCalendar;AstyleType:TmxStyleType;ADate:TDate;var AFont:Tfont; var AColor:TColor)

pero he estado intentando poner algo para modificar y creo qe mi sintasix es incorrecta,podrias por favor explicarme un poco como es que deberia de ir la sintaxis para modificarlo es decir sender es el destinatario o destino ahi debo de poner el nombre de mi calendar¿?, luego Astyletype:TmxStyltype; en el primero es el nombre de la propiedad o como, se que soy un pequeño dolor de cabeza, si alguien pudiera escribir una linea con los datos de un ejemplo de como debe de ir esa linea le entenderia mejor, o q alguien me diga como lo debo de poner para poder cambiar el color, de verdad que me da pena estar haciendo tantas preguntas pero pues soy nuevo y son los pequeños topes qe me voy dando jeje... espero que esta sea mi ultima preguntilla de hoy, Gracias por su comprension jjeeje. :)

Lepe 23-03-2007 11:23:17

Código Delphi [-]
uses DateUtils;

mxcalendar1.OnGetItemStyle(Sender:TmxCustomCalendar;AstyleType:TmxStyleType;
                      ADate:TDate;var AFont:Tfont; var AColor:TColor)

var MiFecha :Tdate;
begin
// colorear según la fecha que yo quiera:
MiFecha := encodeDate(2007, 03, 25);
if ADate = MiFecha then
begin
  AFont.Style := AFont.Style + [fsBold] // poner en negrita la letra de ese día
  Acolor := clRed; // color de esa fecha en rojo
end;

// colorear todos los fines de semana:
if AStyleType = stWeekend then AColor := clgreen

//colorear la fecha que hace click
else if AStyleType = stSelected then AColor := clYellow;
....
// mira en mxCalendar.pas para ver el StyleType

Saludos

Bluefox 23-03-2007 13:46:18

Eso que quieres, creo que en la Jedi hay un control que te pone en color el los dias de las semana que quieras..

Lepe 23-03-2007 16:28:35

Cita:

Empezado por Bluefox
Eso que quieres, creo que en la Jedi hay un control que te pone en color el los dias de las semana que quieras..

¿Podrías mirarlo? No es una exigencia, es que lo estuve mirando y no encontré forma alguna... quizás no miré bien.

Saludos

Bluefox 23-03-2007 21:02:29

Si que lo hay, pero esta asociado a un Text, al menos el que yo use hace poco, y puedes colorear los dias de la semana (yo lo hice del finde (sabado y domingo)).

thelibmx 23-03-2007 23:45:13

mmm, creo que no entiendo un poco sus tecnicismos, pero si me sirvio de mucho la ayuda que me proporcionaron,ya puedo cambiar y colorear los dias, (que bien eso esta muy perfecto!!) pero lo hago de forma manual, creo q eso esta bien por el momento, (no esta mal para un principiante en delphi 2006)ahora mi proximo reto es guardar las fechas en una tabla en una bd en postgree, ya tengo la tabla, solo me gustaria si me pudieran decir que componente me recomiendan que utilize para guardar los datos de tipo fecha en la tabla, de antemano muchas gracias por el apoyo!! :)


La franja horaria es GMT +2. Ahora son las 18:53:25.

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